「JavaSE 重新出发」05.01 继承

mac2022-06-30  22

继承

一个对象变量可以指示多种实际类型的现象被称为多态(polymorphism)。在运行时能够自动地选择调用哪个方法的现象称为动态绑定(dynamic binding)。如果是private方法、static方法、final方法或者构造器,编译器可以准确知道应该调用哪个方法,此种调用方式称为静态绑定(static binding)。子类不能覆盖父类中final修饰的方法(final类中所有方法自动地成为final方法,并且final类不能被继承)。在父类转子类的类型转换前,可以先借助 instanceof 操作符,查看是否能够转换成功。 if(staff instanceof Manager){ boss=(Manager) staff; } 在超类(父类)设计合理的情况下,很少会使用到类型转换和instanceof运算符。包含一个或多个抽象方法的类本身必须被声明为抽象的。 除了抽象方法,抽象类还可以包含具体数据和具体方法。扩展抽象类有两种选择:一是部分实现抽象方法,此时子类仍需标记为抽象类;二是定义全部抽象方法。类即使不包含抽象方法,也可以将类声明为抽象类。抽象类不能被实例化。访问控制: 仅对本类可见——private对本包可见——默认,不需要修饰符对本包和所有子类可见——protected对所有类可见——public如果没有明确地指出父类,则Object就被认为是这个类的超类,其常见几个方法: equals 方法hashcode 方法toString 方法

转载于:https://www.cnblogs.com/hiwangzi/p/7635264.html

相关资源:三年JavaEE开发积累的那些代码之一:JavaSE篇完整实例源码
最新回复(0)