首页 > 代码库 > Java的继承

Java的继承

1、继承的初始化顺序:

       父类—>父类的初始化对象中的属性—>父类的构造方法—>子类—>子类的初始化对象中的属性—>子类的构造方法

   若有构造方法:则先执行属性,再执行构造方法

   若构造方法中没有对name属性进行赋值,则name的值为类属性所赋的值

package com.wangcf;
//父类
public class Animal {
    public String name="属性的初始化";
    public int age;
    public void eat(){
        System.out.println("动物可以吃东西");
    }
    
    public Animal(){
        name="构造方法的初始化";
        System.out.println("父类的构造方法执行了");
    }
}
package com.wangcf;
//子类
public class Bridge extends Animal{
    public String name="子类属性";
    public Bridge(){
        System.out.println("子类的构造方法执行了");
    }
}
package com.wangcf;
//测试类
public class Test {

    public static void main(String[] args) {
        Bridge bri=new Bridge();  //测试初始化顺序
        System.out.println(bri.name);  //测试属性的赋值方式
        System.out.println("=============");
        Animal ani=new Animal();
        System.out.println("输出值为:"+ani.name);  //测试属性的赋值方式
    }
}

技术分享

 2.fianl

可以修饰类,则该类不能被继承

可以修饰方法,则该方法不能被重写

可以修饰属性:则该类的属性不会进行隐式的初始化,也就是必须赋值final int a=1,正确;fianl int a;错误

       或者在构造方法中赋值

       以上两种方式选择一种

可以修饰变量:则只可以赋值一次,那么就是常量了

Java的继承