java 面向对象(进阶)-爱代码爱编程
1.关键字:this
2.继承:extends
[修饰符] class 类 A {
...
}
[修饰符] class 类 B extends 类 A {
...
}
3.方法的重写
子类重写的方法必须和父类被重写的方法具有相同的方法名称、参数列表
注意:① 父类私有方法不能重写 ② 跨包的父类缺省的方法也不能重写
4.关键字:super
super 可用于访问父类中定义的属性
super 可用于调用父类中定义的成员方法
super 可用于在子类构造器中调用父类的构造器
this和super比较
this
– this.成员变量:表示当前对象的某个成员变量,而不是局部变量
– this.成员方法:表示当前对象的某个成员方法,完全可以省略 this.
– this()或 this(实参列表):调用另一个构造器协助当前对象的实例化,只能在构造器首行,只会找本类的构造器,找不到就报错
• super
– super.成员变量:表示当前对象的某个成员变量,该成员变量在父类中声明的
– super.成员方法:表示当前对象的某个成员方法,该成员方法在父类中声明的
– super()或 super(实参列表):调用父类的构造器协助当前对象的实例化,只能在构造器首行,只会找直接父类的对应构造器,找不到就报错
5.关键字 instanceof
//检验对象 a 是否是数据类型 A 的对象,返回值为 boolean 型
对象 a instanceof 数据类型 A
6. Object 类
6.1(重点)equals()
对象域,使用equals方法 。
类型安全的枚举,使用equals或== 。
可能为null的对象域 : 使用==null 和 equals 。
数组域 : 使用 Arrays.equals 。
除float和double外的原始数据类型(int,byte等) : 使用 == 。
float类型: 使用Float.foatToIntBits转换成int类型,然后使用==。
double类型: 使用Double.doubleToLongBit转换成long类型,然后使用==。