instanceof、抽象类、访问修饰符

1. 强制类型转换

 有时候可能需要将某个类的对象引用转换成另外一个类的对象引用。进行类型转换的唯一原因是:在暂时忽视对象的实际类型之后,使用对象的全部功能
 在进行类型转换之前,先使用instanceof操作符查看一下是否能够成功地转换。例:

if (超类引用 instanceof 子类) {
      子类变量 = (子类)超类引用;
}

 总结:

  • 只能在继承层次内进行类型转换
  • 在将超类转换成子类之前,应该使用instanceof进行检查。

2.抽象类

abstract关键字,抽象类不能被实例化。可以定义一个抽象类的对象变量,但是它只能引用非抽象子类的对象
 包含一个或多个抽象的方法本身必须被声明为抽象的。抽象类还可以包括具体数据和具体方法。建议将通用的域方法放在超类中
 若子类将抽象类中的所有抽象方法都进行了定义,则子类不再是抽象类;否则子类仍为抽象类。


3.访问修饰符

 Java用于控制可见性的4个访问修饰符

  • private----仅对本类可见
  • public----对所有类可见
  • protected----对本包和所有子类(本包和非本包)可见
  • friendly----对本包可见

你可能感兴趣的:(instanceof、抽象类、访问修饰符)