1、方法的重载:名称一样,参数不一样(类型不一样或参数个数不一样),返回值一样才能构成重载。否则返回值不同的话,方法重名,报错。
2、同一个类的每个对象共享该类的方法。
3、 this关键字:
this 一般出现在类的方法的定义里面。在类的方法中使用this关键字表示使用该方法的对象的引用。指向自身的引用。this可以看做一个变量,值是当前对象的引用。使用this也可以处理成员变量和方法重名的情况。
4、静态变量存放在数据区。字符串常量也在数据区。
5、 class文件打成jar包: jar -cvf test.jar *.* 。然后把jar包的整个目录设置到calsspath里,这个jar文件里的class文件就可以用了。
6、访问控制:
7、 java 只支持单继承,不支持多继承。一个类可以派生多个子类。通过继承,子类拥有
了父类的所有成员,包括静态成员和静态的方法。
8、 short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)
9、对于class的权限访问控制只能用 default 和public 。 Default类只能被同一个包内部的类访问。
10、当要重写一个方法的时候,要copy原来的方法再修改。重写时候不能比被重写方法使用更严格的权限。
11、在java类中使用super来使用基类的成分,是当前对象的父类对象的引用。
12、在子类的构造过程中首先调用父类的构造方法。对super的调用,必须是构造函数的第一行。
规则1、如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类无参数的构造方法。
规则2、如果子类构造方法中既没有显示调用基类构造方法,而基类中又没有无参的构造方法,则编译出错。
13、如果一个类已经定义了构造方法,则系统不再生成默认无参的构造方法。
14、子类可在自己的构造方法中使用super(argument_list)调用基类的构造方法,使用this(argument_list)调用本类的另外的构造方法。
15、 final 用于声明属性,方法和类,分别表示属性不可变,方法不可重写,类不可继承。
16、 public class Object{ // 自己居然可以自定义Object类
public static void main(String[] args){
System.out.println("object");
}
}
17、 finalize 是java Gc机制,也就是java的垃圾回收器机制。finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
18、 java的反射机制:通过类(Class对象),可以得出当前类的fields、method、construtor、interface的各种 参考009解答的
19、 Class 是jdk里面的另一个类, class 是java里面的一个关键字。
20、对象在内存中有一个位置,根据对象的hashCode可以很快的找到对象在内存中的位置。
21、默认的toString方法返回了一个代表这个对象的字符串
22、关于struus: 1.x是单线程,2.X是多线程的。2。x是线程安全的。但2.X吃内存比较严重,所以性能也是一个瓶颈
23、 Eclipse 无法启动,弹出他的配置的文件的框,怎么解决
答:是eclipse.ini中内存设置过大的问题
即是把-Xmx512m内存大小太大了,把它改小的,改为-Xmx256m就行了
24、对象转型
1、一个基类的引用不可访问子类对象新增加的成员(或属性)。
2、可以使用引用变量 instanceof 来判断当前对象是否是属于某类。
25、父类引用做为一个参数传递,使程序更加灵活。
多态,又叫动态绑定,或池绑定,对系统可扩充性具有重要意义,也是java面向对象思想的核心机制。
26、关于抽象类和抽象方法:
(1)、用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个 方法时,该方法叫做抽象方法。
(2)、含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。
(3)、抽象类不能被实例化。
(4)、抽象方法只需声明,而不需实现
27、 抽象类存在的价值??待补充
28、 final 关键字:
final可以修饰变量(成员变量和局部变量,也包括形参)、方法、类。
29、接口(视频再看)
1、接口(interface)是抽象方法和常量值的定义的集合。
2、从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,
而没有变量和方法的实现。