类的继承与抽象类(Java核心卷1-D4)

来源:互联网 发布:推介算法 编辑:程序博客网 时间:2024/06/01 07:22

一、继承中几点需要注意的地方
1)格式:public class a extends b();
问题:
2)对于子类特有的属性和方法,必须是子类类型的对象才能调用【子类自动转换成父类对象,则不能再调用子类中特有的属性和方法,必须再强制转换成子类对象】

3)子类会继承到父类只能可见的属性和方法

4)子类特有的方法必须是子类类型的对象才能调用(父类绝对不能用,一个对象如果在前面被地自动转型成父类类型的对象之后,还需要调用子类特有的方法,就必须要强制转型(父类类型绝对不能强制转成子类类型

5)重载可以改变返回值,重写不可以改变返回值

二、阻止继承—–final类和方法

三、抽象类
public abstract class A(){};
1、抽象类是介于接口和类之间的一种类
2、抽象类中的属性可以是常量,也可以是实例变量(成员变量)
3、抽象类中的方法既可以是具体的方法,也可以是抽象方法
4 、抽象类中的具体的方法可以自定义访问限定范围,抽象的方法也可以自定义访问限定范围,但不能是私有的
5、抽象方法是有构造方法的,但不能给直接调用实例化
6、一个抽象类只能继承(extends)一个类,如果一个普通的类继承抽象类,必须重写抽象类中的方法;一个类也只能继承一个抽象类,抽象类可以实现多个接口

四、关于instance方法的一些说明
原则上父类是不能强制转化成子类的,但是在一种情况下父类可以转化后成子类,那就是子类先转化成父类,父类再强制转化成子类,在这种情况下,应该使用instanceof进行检查:
instanceof通过返回一个布尔值来指出,这个对象是否是这个特定类或者是它的子类的一个实例。

0 0