標籤:system extend extends 隱式 構造方法 父類 int src 錯誤
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的繼承