父子類生成的順序3

2021-06-19 01:41:53 字數 580 閱讀 7233

規律是這樣的:

任何乙個類,在執行乙個方法前必須要先安**的順序初始化所有的靜態塊,然後呼叫main函式,

在生成乙個類物件的時候,父類物件必須先生成,沒有父類哪有什麼子類。

對於屬性的呼叫來說,哪個類呼叫的就是哪個的屬性。

對於方法來說

非靜態方法,並且父類中有,子類中也有,物件是有子類生成的,那麼這個時候,呼叫子類中的方法。

如果是靜態方法,跟當前的類有關,哪個類就呼叫那個類的方法,不看是否覆蓋.

舉個例子

乙個類名為(demodynmethod)的演示類

class parentclass

public parentclass()

public void d()

public static void s()

}class sonclass extends parentclass

public sonclass()

public void d()

public static void s()

public class demodynmethod

static

Java父子類載入順序

先上桌結論 父類靜態屬性 成員變數 父類靜態 塊 子類靜態屬性 子類靜態 塊 父類非靜態屬性 父類非靜態 塊 父類構造器 子類非靜態屬性 子類非靜態 塊 子類構造器 這麼長怎麼記呀?靜態屬性和 塊,當且僅當該類在程式中第一次被 new 或者第一次被類載入器呼叫時才會觸發 不考慮永久代的 也正是因為上...

Java面試之父子類(3) 構造方法順序

在檢視答案之前,先猜測一下正確答案吧!package com.company class parentclass public parentclass string name static public class subclass extends parentclass public subcla...

父子類以及static的載入順序

static可以被寫在變數和 塊上,此時該變數和 塊不屬於物件,而屬於類,會在jvm執行類載入機制時的準備階段就被賦值以及執行,而非static的變數和 塊在初始化階段才會被賦值並執行。因此如果問靜態方法能否呼叫非靜態變數,答案是不能,因為後者在前者執行時還沒有初始化。通過結果,可以看到父子類的初始...