一探java之java继承extends

来源:互联网 发布:slam算法工作原理 编辑:程序博客网 时间:2024/06/09 20:07

一探javajava继承extends

Java的基本数据类型存放在java栈中,Java引用类型,会在栈中保存一个对该对象所在的堆的地址。


1java继承。继承实现了对父类更好的扩展

2java可以通过接口实现多重继承的概念

3、具有继承关系的子类与父类是isa关系,子类的实力可以赋给父类性的引用变量

SuperClasscc =newChildClass();//正确

ChildClasscc =newSuperClass();//错误编译不通过

4、子类可以覆盖父类的publicprotected方法,如果子类和超类在同一个包中,还可以覆盖默认访问级别的方法。

5、当调用子类的某个构造器来将它实例化时,构造器的第一个动作是调用超类的无参构造器,在父类中,构造器也调用直接父类的构造器,这个过程会不断重复,直至到Object类位置,当创建一个子类时,他所有的父类都会被实例化。如果在子类的构造方法中没有显示调用父类的无参构造器,java编译器会自动为其加上。


6super表示当前对象直接父类的一个实例。

7、如果超类中没有无参构造器,子类中也没有显示调用另一构造器,会产生编译错误。因为编译器添加了一个对超类无参构造器的隐式调用

packagefirstToJava;


publicclassSuperClass02 {

publicSuperClass02(Stringname){

System.out.println("我是:"+name);

}

}



packagefirstToJava;


publicclassChildClass02extendsSuperClass02{


publicChildClass02(Stringname){

super(name);//如果不显示调用父类的有参构造器,编译会报错。

}

publicstaticvoidmain(String[]args){

ChildClass02cc =newChildClass02("张三");

}


}



控制台输出

我是:张三

8、对于一个子类而言,能够从他自己的构造器调用父类的构造器,这是很有意义的事情,因为子类的实例必须始终配有其每个父类的实例。因此,对于子类中未覆盖的方法的调用,将被传递给其父类,直到在该继承层次结构中找到第一个方法为止。

packagefirstToJava;


publicclassSuperClass01 {

publicSuperClass01(){

System.out.println("子类调用父类。。。");

}

publicvoidpaint(){

System.out.println("绘画开始。。。");

}

publicvoidstart(){

System.out.println("正在进行中。。。");

}

}



packagefirstToJava;


publicclassChildClass01extendsSuperClass01{

publicChildClass01(){

}

@Override

publicvoidstart() {

System.out.println("已经开始了。。。");

}

}


packagefirstToJava;


publicclassChildClass01_01extendsChildClass01{

publicChildClass01_01(){

}

publicstaticvoidmain(String[]args){

ChildClass01_01cc =newChildClass01_01();

cc.start();

cc.paint();

}

}


控制台输出

子类调用父类。。。

已经开始了。。。

绘画开始。。。

9super是直接父类的一个实例,因此可以访问到超类中能通过子类看到的任何成员。调用父类成员的语句不用放在第一行,而调用父类构造器的语句必须放在方法体的第一行。

10、类型转换的原则是只能将一个子类的实例转换成它的父类。将一个对象转换成一个父类,叫做向上转换(upcast)。将一个父类对象转换成子类,叫做向下转换(downcast),向下转换时必须进行强制转换。向下转换只允许发生在父类引用已经指向子类对象的时候。

11、不能继承带有final修饰的类、不能覆盖带有final修饰的方法。

12instanceof可以用来检验某一个对象是否为某种指定类型。在一个null引用变量中应用instanceof时将返回false

0 0
原创粉丝点击