文章标题

来源:互联网 发布:网络短信免费发送 编辑:程序博客网 时间:2024/06/05 16:37

继承是一种类和类的关系,比如小汽车类和汽车类,小汽车类继承了汽车类,小汽车就叫汽车类的子类或者派生类,汽车就是小汽车的父类或者基类,继承的好处就是子类可以继承父类的属性和方法,特别提醒private修饰符不能够被继承
语法: class 子类 extends 父类{}
eg:class coupe extends Car{
…………….
}
实际应用:

//父类public class Car{public int height;public int weight;private int MaxSpeed;//私有属性public String logo;public void drive(){  System.out.println("父类的方法被调用");}}//子类public class Coupe extends Car{}//子类已经被创建 可以在main函数中调用coupe的方法和属性(从父类继承而来)public class Test{  public static void main(String[] args){       Coupe coupe = new Car();//子类的实例化       coupe.height = 1;//继承父类的属性 并且可写       coupe.weight = 3;       coupe.MaxSpeed = 100;//会报错因为是私有属性       coupe.drive();//继承父类的 方法 drive   }}----------子类还可以拥有自己的方法和属性(重写)//子类public class Coupe extend Car{    public void drive(){      System.out.println("drive方法已经重写");//优先调用子类的方法   }}

那么继承的初始化顺序是什么样的呢?
先初始化父类再初始化子类
先执行初始化对象中的属性再执行构造方法中的初始化
eg:

public class Car{public int height = 1;//先将height赋值public int weight;private int MaxSpeed;//私有属性public String logo;public void drive(){  System.out.println("父类的方法被调用");}//构造方法public Car(){  System.out.println("父类执行了");  height = 2;//更改height}}//子类public class Coupe extends Car{// 构造方法    public Coupe(){      System.out.println("子类执行了");    }}//子类已经被创建 可以在main函数中调用coupe的方法和属性(从父类继承而来)public class Test{  public static void main(String[] args){       Car car = new Car();       System.out.println("height:"+height);// Console显示为2;       Coupe coupe = new Car();//子类的实例化       coupe.height = 1;//继承父类的属性 并且可写       coupe.weight = 3;       coupe.drive();//继承父类的 方法 drive   }}//Consloe中 会显示父类执行了子类执行了父类的方法被调用//但是先进行父类的构造方法的初始化 还是属性的初始化呢?//可以在构造方法中再添加一个数据 跟据最后输出什么来判断先初始化构造方法还是                 //先初始化属性----------上述更改height在构造器中的值证明先初始化属性在初始化构造方法

创建子类对象时1.先创建父类对象进行属性初始化。2.初始化父类的构造方法 3.再初始化子类的属性4.初始化子类的构造方法。


原创粉丝点击