[size=large][color=darkred]第一次写关于学习的博客。把自己觉得可能以后会忘记的东西记下来吧。毕竟是图书馆借来的书![/color][/size]
[b]1、覆盖与重载[/b]
覆盖一个方法定义时,派生类中给出的新方法定义有完全相同的参数个数和类型。如果派生类中的方法的参数个数或参数类型与基类中的方法不同,则派生类将同时拥有这两个方法。这就是方法的重载。
[b]2、调用基类构造方法:super构造方法[/b]
[b]3、在同一个类中调用另一个构造方法:this构造方法[/b]
[b]4、派生类的对象有多个类型[/b]
[b]5、public、private、protected和package访问权限。[/b]
考虑包访问时,别忘记了默认包(default包)
[b]6、Object类[/b]
所有类的祖先都是Object。equals、toString、clone等方法是被每个Java类都继承了的方法。
[b]7、定义equals的正确方法[/b]
采用getClass,而不是instanceof,因为instance运算符仅测试一个对象的类型,而getClass()方法与==或!=结合使用,测试两个对象是不是用相同的类的创建。
[b]1、覆盖与重载[/b]
覆盖一个方法定义时,派生类中给出的新方法定义有完全相同的参数个数和类型。如果派生类中的方法的参数个数或参数类型与基类中的方法不同,则派生类将同时拥有这两个方法。这就是方法的重载。
[b]2、调用基类构造方法:super构造方法[/b]
public SalariedEmploee(SalariedEmployee originalObject)
{
super(originalObject);//调用基类的构造方法
salary = originalObject.salary;
}
[b]3、在同一个类中调用另一个构造方法:this构造方法[/b]
public HourlyEmployee()
{
this("No Name", New Date("January", 1, 1000), 0, 0);
}
[b]4、派生类的对象有多个类型[/b]
public HourlyEmployee(HourlyEmployee originalObject)
{
super(origninalObject);
wageRate = originalObject.wageRate;
hours = originalObject.hours;
}
Employee类没有参数类型为HourlyEmployee的构造方法,但是这里采用HourlyEmployee类型的变量作为super的参数。
[b]5、public、private、protected和package访问权限。[/b]
考虑包访问时,别忘记了默认包(default包)
[b]6、Object类[/b]
所有类的祖先都是Object。equals、toString、clone等方法是被每个Java类都继承了的方法。
[b]7、定义equals的正确方法[/b]
采用getClass,而不是instanceof,因为instance运算符仅测试一个对象的类型,而getClass()方法与==或!=结合使用,测试两个对象是不是用相同的类的创建。