溫馨提示×

溫馨提示×

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

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

如何在java中引用類

發(fā)布時(shí)間:2021-05-25 15:54:06 來源:億速云 閱讀:839 作者:Leah 欄目:編程語言

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

1、類的主動(dòng)引用,一定會(huì)發(fā)生類的初始化

當(dāng)虛擬機(jī)啟動(dòng),先初始化main方法所在的類

實(shí)例化一個(gè)類的對象

調(diào)用類的靜態(tài)成員(除了final常量)和靜態(tài)方法

使用java.lang.reflect包的方法對類進(jìn)行反射調(diào)用

當(dāng)初始化一個(gè)類,如果其父類沒有被初始化,則先會(huì)初始化它的父類

2、類的被動(dòng)引用,不會(huì)發(fā)生類的初始化

當(dāng)訪問一個(gè)靜態(tài)域時(shí),只有真正聲明這個(gè)域的類才會(huì)被初始化。如:當(dāng)通過子類引用父類的靜態(tài)變量,不會(huì)導(dǎo)致子類初始化

通過數(shù)組定義類引用,不會(huì)觸發(fā)此類的初始化

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

3、實(shí)例

package com.volcano.reflection;
//什么時(shí)候會(huì)發(fā)生類的初始化,除了第一個(gè)注釋一直開著,其他都要獨(dú)立打開測試,否則不準(zhǔn)確
public class TestReflection3 {
    static {
        //1.虛擬機(jī)啟動(dòng)就會(huì)最先初始化main方法所在的類 會(huì)
        System.out.println("main方法被加載");
    }
    public static void main(String[] args) throws ClassNotFoundException {
        //2.實(shí)例化一個(gè)對象 會(huì)
        //new Father();
        //3.調(diào)用類的靜態(tài)成員(除了final常量)和靜態(tài)方法 會(huì)
        //System.out.println(Son.a);
        //4.使用java.lang.reflect包的方法對類進(jìn)行反射調(diào)用 會(huì)
        //Class cls = Class.forName("com.volcano.reflection.Father");
        //5.當(dāng)初始化一個(gè)類,如果其父類沒有被初始化,則先會(huì)初始化它的父類 會(huì)
        //new Son();
 
        //6.當(dāng)訪問一個(gè)靜態(tài)域時(shí),只有真正聲明這個(gè)域的類才會(huì)被初始化 不會(huì)
        //System.out.println(Father.a);//兩個(gè)都是只加載Father
        //System.out.println(Son.a);//因?yàn)閍是Father的靜態(tài)成員
        //7.通過數(shù)組定義類引用,不會(huì)觸發(fā)此類的初始化 不會(huì)
        //Father[] fathers = new Father[10];
        //8.引用常量不會(huì)觸發(fā)此類的初始化 不會(huì)
        //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基本數(shù)據(jù)類型有哪些

Java的基本數(shù)據(jù)類型分為:1、整數(shù)類型,用來表示整數(shù)的數(shù)據(jù)類型。2、浮點(diǎn)類型,用來表示小數(shù)的數(shù)據(jù)類型。3、字符類型,字符類型的關(guān)鍵字是“char”。4、布爾類型,是表示邏輯值的基本數(shù)據(jù)類型。

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

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI