1. 强制类型转换
有时候可能需要将某个类的对象引用转换成另外一个类的对象引用。进行类型转换的唯一原因是:在暂时忽视对象的实际类型之后,使用对象的全部功能。
在进行类型转换之前,先使用instanceof操作符查看一下是否能够成功地转换。例:
if (超类引用 instanceof 子类) {
子类变量 = (子类)超类引用;
}
总结:
- 只能在继承层次内进行类型转换。
- 在将超类转换成子类之前,应该使用instanceof进行检查。
2.抽象类
abstract关键字,抽象类不能被实例化。可以定义一个抽象类的对象变量,但是它只能引用非抽象子类的对象。
包含一个或多个抽象的方法的类本身必须被声明为抽象的。抽象类还可以包括具体数据和具体方法。建议将通用的域和方法放在超类中。
若子类将抽象类中的所有抽象方法都进行了定义,则子类不再是抽象类;否则子类仍为抽象类。
3.访问修饰符
Java用于控制可见性的4个访问修饰符:
- private----仅对本类可见
- public----对所有类可见
- protected----对本包和所有子类(本包和非本包)可见
- friendly----对本包可见
网友评论