java基础(3)


120.AWT-Abstract windows toolkit,在c或c++的窗口基础上抽象出的一层。Swing不能替代AWT,图形界面中关于事件处理的内容还要用到awt。
121.Ajax和javascript都能完全替代applet。
122.在屏幕坐标中的原点在左上角,横向右递增为x轴,竖向下为y轴。
123.在dos窗口中cls-清屏;Ctrl+C-退出当前运行的任务,并令起一行。
124.尽量使用类继承窗口的方法来创建窗口,因为这样可以创建自己的成员变量。
125.放在frame中的panel设置的位置是相对于frame窗口的位置。
126.在API中查找一个类的方法,如果在这个类中没有在该 类中则该方法有可能在该类的父类。
127.使用BorderLayout中设置组件的位置时,可以使用字符串指定,也可以通过调用BoderLayout中的常量来指定。最好选择后者来指定,因为前者如果字符串书写错误在编译时期不能检查出来,在运行期才能检查出异常。编程应该让可能的错误尽量提前出现。
128.在布局管理器中如果没有指明放在其中的组件的位置时:按照以下方式来安放:
     GridLayout:从左到右-从上到下;(本身不可以指定组件的位置)
     Bordlayout:北-南-西-东-中;(本身 可以指定组件的位置)
129.在综合复杂的布局中按照从里到外的方式进行:a,b,c三个按钮组件要放在PanelA上,PanelA要放在PanelB上,PanelB要放在PanelC上.....
130.关于成员与局部对象的设置:如果把一个对象放在一个方法里面则它是局部变量,当要在别的方法或类中用到这个对象的时候无法读取到;所以这个时候的对象应该
     设置为成员变量-如果该成员变量是引用类型的,应该在方法外部创建对象的引用(eg. A a = null;),然后在方法内部进行初始化。这时要注意在
     方法内部就不要在写对象的引用(eg.A a = new A),不然初始化出来的对象是和成员变量中不同的两个对象,而又由于一个是局部变量一个是成员
     变量,二者并不发生冲突,但在引用该对象的时候会发生错误(null).所以在方法内只需直接对方法外已经创建的对象引用进行初始化(eg.new A()).
     如果是在另外一个类中B使用这个对象,这时只需要在类B中创建该类的一个对象,然后通过这个对象来调用该类中的成员变量。
131.类A中包含有类B则类B是类A的内部类,类A是类B的包装类。内部类的典型好处:可以直接调用包装类中的成员变量和成员方法;并且将内部类声明为private的话
     可以使得其它的类无法调用它,从语法上确保了该类的安全性。需要这两个好处时候可以使用内部类。内部类的标志:内部类的class文件为:"包装类名$内部类名.class".
     注意内部类声明时的排版格式和方法一样。如果一个类在另外一个类的方法中那么这类叫做匿名内部类,因为它没有具体的名字所以称之为匿名,这种类的作用范围只在它所在的方法的内部。
     一般的匿名内采用new 一个父类的方式来表示继承了该父类。如果一个类经常变动或代码较多时不建议使用匿名类。注意内部类的书写格式。
132.在FlowLayout中组件的位置按照添加调组件时调用add方法的顺序依次排放。
133.对要在组件上面发生事件的组件才注册监听器,如果只是从组件上获取信息并不需要将它注册到监听器,如num1和num2都没有注册。在实现的监听器类里面定义的是一旦发生事件后进行的操作.
     (Label组件既没有提供信息的功能也没有时间发生只是作显示用。)
134.当需要将基本数据类型转换为字符串时除了可以使用String.valueOf还可以使用“""+基本数据类型数据”这种办法。
135.如果重写方法时写错了方法名在编译时不会出错,因为系统会认为这是自己重新定义的方法。很难检查出来,所以重写方法时最后进行原方法的拷贝。
136.在事件监听中多采用继承实现了...Listener的接口的类的方法...Adapter来定义自己的时间处理方法,因为这样可以免去实现接口中所有方法的烦琐。(在该有相应的...Adapter类的前提下)

追加一些别的总结:

1. 编程题: 用最有效率的方法算出2乘以8等於几?   
2. 2 << 3 
3.  
4. 45、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?  
5.  不对,有相同的hash code。  
6.  
7. 46、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?   
8.  是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。 
9. 编程题: 写一个Singleton出来。  
10.  Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。  
11. 一般Singleton模式通常有几种种形式:  
12.  第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。  
Java代码
13.     
14. public class Singleton {     
15. private Singleton(){}     
16.       //在自己内部定义自己一个实例,是不是很奇怪?     
17.       //注意这是private 只供内部调用     
18.       private static Singleton instance = new Singleton();     
19.       //这里提供了一个供外部访问本class的静态方法,可以直接访问       
20.       public static Singleton getInstance() {     
21.         return instance;        
22.       }      
23.     }        
24.    

13.  
14. public class Singleton {  
15. private Singleton(){}  
16.       //在自己内部定义自己一个实例,是不是很奇怪?  
17.       //注意这是private 只供内部调用  
18.       private static Singleton instance = new Singleton();  
19.       //这里提供了一个供外部访问本class的静态方法,可以直接访问    
20.       public static Singleton getInstance() {  
21.         return instance;     
22.       }   
23.     }     
24.  
25.  
26.     第二种形式:   
27.  
Java代码
28. public class Singleton {      
29.   private static Singleton instance = null;     
30.   public static synchronized Singleton getInstance() {     
31.   //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次          
32.   //使用时生成实例,提高了效率!     
33.   if (instance==null)     
34.     instance=new Singleton();     
35. return instance;   }  

28. public class Singleton {   
29.   private static Singleton instance = null;  
30.   public static synchronized Singleton getInstance() {  
31.   //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次       
32.   //使用时生成实例,提高了效率!  
33.   if (instance==null)  
34.     instance=new Singleton();  
35. return instance;   }  
36. 描述一下JVM加载class文件的原理机制?  
37.  JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。  
38.  
39. 55、char型变量中能不能存贮一个中文汉字?为什么?   
40.  能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的
41. J2EE是技术还是平台还是框架?  
42.     J2EE本身是一个标准,一个为企业分布式应用的开发提供的标准平台。  
43.     J2EE也是一个框架,包括JDBC、JNDI、RMI、JMS、EJB、JTA等技术。
44. 70、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?   
45. a: 两种形式 dtd  schema,b: 本质区别:schema本身是xml的,可以被XML解析器解析(这也是从DTD上发展schema的根本目的),c:有DOM,SAX,STAX等   
46.     DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问  
47. SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问   
48.     STAX:Streaming API for XML (StAX)  
49. j2ee常用的设计模式?说明工厂模式。  
50.     Java中的23种设计模式:  
51. Factory(工厂模式),      Builder(建造模式),       Factory Method(工厂方法模式),  
52. Prototype(原始模型模式),Singleton(单例模式),    Facade(门面模式),  
53. Adapter(适配器模式),    Bridge(桥梁模式),        Composite(合成模式),  
54. Decorator(装饰模式),    Flyweight(享元模式),     Proxy(代理模式),  
55. Command(命令模式),      Interpreter(解释器模式), Visitor(访问者模式),  
56. Iterator(迭代子模式),   Mediator(调停者模式),    Memento(备忘录模式),  
57. Observer(观察者模式),   State(状态模式),         Strategy(策略模式),  
58. Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)  
工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。


接口中的方法永远是public,abstract,接口中的
常量永远是public static和final,因此不需要为它们说明属性.
Java的反射机制: java反射主要是指程序可以访问和修改自身状态和行为能力,使得程序可以自描述和自控制。
可以获得某个已知声明类的信息,如实实例变量(field),方法(method),该类的访问修饰符等信息。
//标准输入得到,然后输出到console
Java代码
try   
             {   
                 String stdout;   
                 BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));   
                 stdout=stdin.readLine();   
                 System.out.print(stdout);   
             }   
             catch(Exception IOException)   
             {   
                 System.out.println("Input exception reported");   
             } 

你可能感兴趣的:(java,设计模式,编程,xml,企业应用)