类继承几点常见注意事项

来源:互联网 发布:手机录音播放软件 编辑:程序博客网 时间:2024/05/21 20:25
先看父类、子类代码:
public class FatherClass {public FatherClass(){System.out.println("father constructor");}protected void father1(){System.out.println("father1");}}
public class SonClass extends FatherClass {public SonClass() {System.out.println("son constructor");}protected void father1(){System.out.println("father1 son");}protected void son1(){System.out.println("son1");}}


几点注意事项:

1、执行子类的构造函数前会先执行父类的构造函数;
SonClass sonclass =  new SonClass();
输出:
father constructor
son constructor


2、子类可以重写父类的方法,重写的方法请注意:

比如SonClassc重写了FatherClass的father1(),通过子类对象调用father1()时,只执行子类的father1(),不执行父类的father1();        
SonClass sonclass =  new SonClass();sonclass.father1();
输出:
father constructor
son constructor
father1 son        


3、声明为子类、实例化为父类:
SonClass sonclass = new FatherClass(); //错误,要强制转换,像下面那样:SonClass sonclass = (SonClass) new FatherClass();
但是这样会报错,因为一个父类可以有很多个子类,不能讲父类强制转换为某一个子类:

4、声明为父类、实例化为子类:
FatherClass sonclass =  new SonClass();sonclass.father1();sonclass.son1();  //报错,没有该函数
仍只执行子类的函数,并且子类中独有的函数还不能调用了。
0 0
原创粉丝点击