帶你了解Java中Static關(guān)鍵字的用法
Java中Static關(guān)鍵字的一些用法詳解
1. Static 修飾類屬性,因?yàn)殪o態(tài)成員變量可以通過類名+屬性名調(diào)用,非靜態(tài)成員變量不能通過類名+屬性名調(diào)用;
public class Student {
private static int number;//靜態(tài)變量
private String name;//非靜態(tài)變量
public static void main(String[] args) {
System.out.println(Student.number);
System.out.println(Student.name);//會(huì)報(bào)錯(cuò) 因?yàn)榉庆o態(tài)成員變量不能通過類名+屬性名調(diào)用
}
}
2. Static 修飾類方法,可以通過類名.靜態(tài)方法名的方式調(diào)用靜態(tài)方法,不可以用類名.靜態(tài)方法名調(diào)用非靜態(tài)方法;
public class Student {
public static void go(){};//靜態(tài)方法
public void run(){};//非靜態(tài)方法
public static void main(String[] args) {
Student.go();//可以用類名.靜態(tài)方法名的方式調(diào)用靜態(tài)方法
Student.run();//報(bào)錯(cuò),不可以用類名.靜態(tài)方法名調(diào)用非靜態(tài)方法
}
}
3. 靜態(tài)代碼塊,匿名代碼塊,構(gòu)造函數(shù)。三者的調(diào)用順序?yàn)椋o態(tài)代碼塊(只調(diào)用1次) --> 匿名代碼塊 --> 構(gòu)造函數(shù))。
public class Student {
//匿名代碼塊,每創(chuàng)建一個(gè)student對(duì)象就會(huì)調(diào)用一次匿名代碼塊
{
System.out.println("調(diào)用匿名代碼塊");
}
//靜態(tài)代碼塊,和類加載一起發(fā)生,只會(huì)調(diào)用一次
static {
System.out.println("調(diào)用靜態(tài)代碼塊");
}
//構(gòu)造函數(shù),每創(chuàng)建一個(gè)student對(duì)象就會(huì)調(diào)用一次該方法
public Student() {
System.out.println("調(diào)用構(gòu)造函數(shù)");
}
public static void main(String[] args) {
new Student();
new Student();
}
}
【第三點(diǎn) 測(cè)試結(jié)果】

總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
HashMap原理及手寫實(shí)現(xiàn)部分區(qū)塊鏈特征
這篇文章主要為大家介紹了HashMap原理及手寫實(shí)現(xiàn)部分區(qū)塊鏈特征,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
詳解springcloud 基于feign的服務(wù)接口的統(tǒng)一hystrix降級(jí)處理
這篇文章主要介紹了詳解springcloud 基于feign的服務(wù)接口的統(tǒng)一hystrix降級(jí)處理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-06-06
Java多線程中ReentrantLock與Condition詳解
這篇文章主要介紹了Java多線程中ReentrantLock與Condition詳解,需要的朋友可以參考下2017-11-11
Java 中Object的wait() notify() notifyAll()方法使用
這篇文章主要介紹了Java 中Object的wait() notify() notifyAll()方法使用的相關(guān)資料,需要的朋友可以參考下2017-05-05
SpringBoot整合Redisson的步驟(單機(jī)版)
Redisson非常適用于分布式鎖,而我們的一項(xiàng)業(yè)務(wù)需要考慮分布式鎖這個(gè)應(yīng)用場(chǎng)景,于是我整合它做一個(gè)初步簡(jiǎn)單的例子(和整合redis一樣)。2021-05-05
SpringBoot?整合?Spring-Session?實(shí)現(xiàn)分布式會(huì)話項(xiàng)目實(shí)戰(zhàn)
本文主要介紹了SpringBoot?整合?Spring-Session?實(shí)現(xiàn)分布式會(huì)話項(xiàng)目實(shí)戰(zhàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
2024.1.2 安裝JDK和Eclipse并配置java編譯環(huán)境的過程
這篇文章主要介紹了2024.1.2 安裝JDK和Eclipse并配置java編譯環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-01-01
SpringBoot中@ComponentScan的使用詳解
這篇文章主要介紹了SpringBoot中@ComponentScan的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11

