Java复习总结
1.javac编译
2.boolean 只能是true/false
3.标示符 由1字母2数字3’_’4’$’构成,首字符不能是数字,字母是广义的。
4.boolean 8位 byte 8位 short 16位 char 16位 int 32位 float 32位 long 64位 double 64位
5.float x=2.5f
6.String s1,s2。s1==s2比较的是引用,s1.equals(s2)比较的是值
7.new用于创建一个对象或数组
8.switch break;
9.Java程序文件不能随便命名,要求与公共类所在文件同名
10.一个Java文件最多只能包含一个公共类。
11.类中若已有构造方法就不会再自动创建默认的无参构造。
12.如果堆中某对象出现了没有任何变量的引用值指向它的情况,意味着该对象再也用不到了。Java使用一种不同的,自动地处理重新分配的方法:垃圾回收技术。
13.static不用来修饰类,只是修饰类的成员,在类内是共享的。
14.类静态方法不能访问所属类的非静态变量和方法,只能访问方法体内的局部变量,参数和静态变量。
15.main为什么用static,void修饰?因为一开始该类并没有实例化对象,只能通过static访问,而main已是最底层,无处返回返回值,故为void。
16.用final修饰的类称为最终类,该类不能被继承。
17.用final修饰的方法不能被其子类的方法所覆盖。
18.Java只支持单重继承,不支持多重继承。
19.子类只能继承父类中非private的变量。
20.子类可以实现到父类的类型转换,称为向上转型。
21.创建子类时,会先调用父类的构造方法,对于父类中构造方法的调用,子类只能在其构造方法第一行用super调用。
22.子类覆盖的方法不能缩小父类的访问权限。
23.抽象类的子类必须覆盖父类的所有抽象方法。抽象方法:不含方法体,即不含具体实现。
24.一个类不是抽象类,就不能再该类内定义抽象方法。
25.向上转型的对象,实际上是父类对象,没法调用子类的成员方法和成员变量。但子类若存在和父类同名方法就会被子类的覆盖,但对成员变量无效。
26.系统默认接口中成员变量修饰都加上public,static,final,因此接口定义的变量都是不能修改的。
27.系统默认接口中成员方法的修饰都是public,abstract,因此接口中不能定义变量和具体的实现方法。
28.一个Java源文件中可能包含多个类和接口,但不能包含两个及以上具有public修饰的类或接口。
29.因为方法覆盖不能缩小父类方法的访问权限,而接口内所有方法的默认都是public权限,故在实现该接口的类成员方法前需加public修饰符。
30.接口是可以拓展的,可以用extends被其他接口继承,如A继承了B,B继承了C,那么实现接口A的类,就必须实现接口A,B,C中所有的方法。
31.接口可以多重继承,抽象类则不可以。抽象类可以有成员变量,可以有具体实现的成员方法,而接口则没有具体的实现方法,只有常量。
32.是否可以让一个类不用实现一个接口的全部方法?有两种特殊情况:1.该类继承的父类中已经实现了所有的方法。2.该类是抽象类(抽象类中本就有抽象方法,只是继承了该抽象类的子类必须实现全部方法)。
33.实名内部类:1.内部类不可与外部类重名2.内部类在外部使用时,需给出带有外部类名的完整名称。3.内部泪可以使抽象类或者接口,若是接口,则可以由其他内部类实现。
34.匿名的内部类:
new父类名(父类构造方法调用参数列表){类体}
35.Java默认Object类是每个Java类的直接或者间接父类。
36.数组声明 int []d/int d[];实例化:int[]d=new int[4];
37.String表示的字符串在初始化之后,不能被修改;StringBuffer中字符串内容可以动态修改。
38.事实上equals是java.lang.Object的成员方法,由于Object默认是所以类的父类,因此任何两个对象都可以用equals进行比较。
39.String类提供了replace(),toLowerCase等方法对字符串进行修改,但这里的修改并不是在原内存位置进行的,而是在新的内存空间存放已经修改好的字符串。
40.gc()方法可帮助开发人员主动对内存垃圾进行回收,调用方法:System.gc();
41.try语句后面必须跟随至少一个catch或者finally语句。
42.Java数据流分字符流和字节流。字节流以1字节为单位读写,而字符流主要用以处理字符。字节流通常以Stream结尾,字符流多用Reader或者Writer结尾。
43.顶层容器:JFrame,JApplet,JDialog,JWindow菜单组件:JMenu,JMenuBar,JMenuItem
面板组件:JPanel 滚动面板:JScrollPane 分割面板:JSplitPane 标签:JLabel 按钮:JButton
单行文本框:JTextField 下拉框:JComboBox 多行文本框:JTextArea
44.String转换,si=Short.parseShort(“55”);其他类似
45.实现多线程:一、继承Thread类并覆盖run()方法。二、实现Runnable接口。
例:
public class ThreadExample extends Thread{
public void run(){
System.out.println(“So easy!”);
}
static public void main(String args[]){
ThreadExample t=new ThreadExample();
t.start();
}
}
例:
public RunnableExample implements Runnable{
public void run(){
System.out.println(“So complicated!”);
}
static public void main(String args[]){
RunnableExample t1=new RunnableExample();
RunnableExample t2=new RunnableExample();
Thread t1s=new Thread(t1);
Thread t2s=new Thread(t2);
t1s.start();
t2s.start();
}
46.利用匿名类进行监听
例:
b.addActionListener(new ActionListener(){//b为button
public void actionPerformed(ActionEvent e){
//此处写触发,即点击后操作即可
}
}