一.类的继承
二.Object类
1.getClass()方法
2.toString()方法
3.equals()方法
三.对象类型的转换
1.向上转型
2.向下转型
四.方法的重载
五.final关键字
六.使用instanceof关键字判断对象类型
七.多态
一.类的继承
Java语言每个类只能继承一个父类。
extends——继承
父类 和普通类写法相同
public class 父类类名{
}
子类 需要继承父类
public class 子类类名 extends 父类类名{
}
所有类的构造方法第一行都有一个隐藏的“super();”
作用是在执行该构造方法之前调用其父类的构造方法。
【例7.2】在电话类基础上衍生出手机类(分三个文件书写)
二.Object类
Object类是比较特殊的类,它是所有类的父类,是Java类层中最高层类。
方法的重写:返回参数相同,方法名相同,传入参数相同,方法体不同。
1.getClass()方法
是Object类定义的方法,它会返回对象执行时的Class实例,然后使用此实例调用getName()方法可以取得类的名称。
语法:getClass().getname();
可以将getClass()方法与toString()方法联用。
2.toString()方法
它的功能是将一个对象返回为字符串形式,它会返回一个String实例。
在实际的应用中通常重写toString()方法,为对象提供一个特定的输出模式。当这个类转换为字符串或与字符串连接时,将自动调用重写的toString()方法。
3.equals()方法
“==”运算符与equals()方法是两种比较对象的方法。
两者的区别在于:“==”比较的是两个对象引用内存地址是否相同,而equals()方法比较的是两个对象的实际内容。
【例7.4】根据身份证号判断是否为同一人
五.final关键字
final修饰变量——不可以被修改(常量)
final修饰方法——不可以被重写
final修饰类——不可以被继承
【例7.11】使用final关键字为电视机上儿童锁
报错:不能覆盖Dad中的final方法
因为打开电视这个方法是由final修饰的,子类无法重写。所以Baby想要打开电视,就只能找爸爸来打开了。
六.使用instanceof关键字判断对象类型
对象名 instanceof 类名
判断该对象是否属于该类或其子类
【例7.7】分析几何图形之间的继承关系
代码:
报错:条件操作数类型Quadrangle和Circular不兼容
因为四边形类与圆形类没有继承关系,因此两者不能使用instanceof关键字进行比较,否则会发生“不兼容”错误。
若删除或注释掉这段代码,运行结果如下