溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在java中引用類

發布時間:2021-05-25 15:54:06 來源:億速云 閱讀:884 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關如何在java中引用類,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

1、類的主動引用,一定會發生類的初始化

當虛擬機啟動,先初始化main方法所在的類

實例化一個類的對象

調用類的靜態成員(除了final常量)和靜態方法

使用java.lang.reflect包的方法對類進行反射調用

當初始化一個類,如果其父類沒有被初始化,則先會初始化它的父類

2、類的被動引用,不會發生類的初始化

當訪問一個靜態域時,只有真正聲明這個域的類才會被初始化。如:當通過子類引用父類的靜態變量,不會導致子類初始化

通過數組定義類引用,不會觸發此類的初始化

引用常量不會觸發此類的初始化(常量在鏈接階段就存入調用類的常量池中了)

3、實例

package com.volcano.reflection;
//什么時候會發生類的初始化,除了第一個注釋一直開著,其他都要獨立打開測試,否則不準確
public class TestReflection3 {
    static {
        //1.虛擬機啟動就會最先初始化main方法所在的類 會
        System.out.println("main方法被加載");
    }
    public static void main(String[] args) throws ClassNotFoundException {
        //2.實例化一個對象 會
        //new Father();
        //3.調用類的靜態成員(除了final常量)和靜態方法 會
        //System.out.println(Son.a);
        //4.使用java.lang.reflect包的方法對類進行反射調用 會
        //Class cls = Class.forName("com.volcano.reflection.Father");
        //5.當初始化一個類,如果其父類沒有被初始化,則先會初始化它的父類 會
        //new Son();
 
        //6.當訪問一個靜態域時,只有真正聲明這個域的類才會被初始化 不會
        //System.out.println(Father.a);//兩個都是只加載Father
        //System.out.println(Son.a);//因為a是Father的靜態成員
        //7.通過數組定義類引用,不會觸發此類的初始化 不會
        //Father[] fathers = new Father[10];
        //8.引用常量不會觸發此類的初始化 不會
        //System.out.println(Father.B);
 
    }
}
class Father{
    static {
        System.out.println("Father被加載");
    }
    static int a=100;
    static final int B = 300;
}
class Son extends Father{
    static {
        System.out.println("Son被加載");
    }
    static int c=200;
 
}

java基本數據類型有哪些

Java的基本數據類型分為:1、整數類型,用來表示整數的數據類型。2、浮點類型,用來表示小數的數據類型。3、字符類型,字符類型的關鍵字是“char”。4、布爾類型,是表示邏輯值的基本數據類型。

關于如何在java中引用類就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女