java中类的继承

Posted 牧野流冰87

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中类的继承相关的知识,希望对你有一定的参考价值。

我们都知道java的四大特性:抽象、继承、封装、多态;

那么关于继承有哪些特性呢?下面看具体实例:

(1)

public class Person {  

public  int a=2;  

public  void see(int a){   

System.out.println(a);

 }

}

public class Hello extends Person {

public int a = 3;

public void see(int s){

 System.out.println("11");

}  public static void main(String[] args){   

Person a1 = new Person();   

System.out.println(a1.a);  //a1.a的值由声明类型决定,所以值是2

a1.see(1);  //调用的方法由引用对象的类型决定,这里对象是子类的对象,所以值是11,总结:属性绑定到类型,方法绑定到对象!

}  

}

(1)继承成员变量

当子类继承某个类时,子类就可以使用这个类的成员变量,但不是完全继承这个类中所有的成员变量,具体原则如下:

<1>子类能够继承父类的public、protected、default 修饰成员变量,不能继承private修饰的成员变量

<2>对于子类可以继承父类的成员变量,如果子类出现了同名的成员变量,那么子类就会屏蔽掉父类的成员变量,如果想调用父类的成员变量,就需要用到super关键字

(2)继承方法

当子类继承某个类时,子类就可以使用这个类的方法,但不是完全继承这个类中所有的方法,具体原则如下:

<1>子类能够继承父类的public、protected、default 修饰方法,不能继承private修饰的方法

<2>对于子类可以继承父类的方法,如果子类出现了同名的方法,那么子类就会屏覆盖父类的成员变量,如果想调用父类的成员变量,就需要用到super关键字,子类重写的方法的修饰符权限要大于父类的方法访问权限

总结:
程序运行时(一个类中),会第一时间加载运行静态代码块,一旦创建对象,就会执行非静态代码块以及无参构造方法。 而在继承中,程序运行时 会先加载父类中静态代码块 然后加载本身静态代码块,一旦创建对象(运用子类构造方法创建),就会调用 父类非静态代码块,父类构造方法,然后就是本身 非静态代码块,本身构造方法

 

以上是关于java中类的继承的主要内容,如果未能解决你的问题,请参考以下文章

Java中类的继承

Java中类的继承与权限控制

java中类继承,到底继承了什么?

java中类的封装与继承

Java中类的继承

Java中类的关系