Java中類變量和類方法的基本使用
類變量
類變量也叫靜態(tài)變量/靜態(tài)屬性,是該類的所有對象共享的變量,任何一個該類的對象訪問它時,取到的都是相同的值,同樣任何一個該類的對象去修改它時,修改的也是同一個變量。
如何定義類變量
定義語法:
訪問修飾符 static 數(shù)據(jù)類型 變量名; 【推薦使用】
static 訪問修飾符 數(shù)據(jù)類型 變量名;
如何訪問類變量
類名.類變量名【推薦】
對象名.類變量名
靜態(tài)變量的 訪問修飾符在訪問權(quán)限和范圍上 和 普通屬性 是一樣的
package com.zhangch.static_;
public class Test {
public static void main(String[] args) {
//類名.類變量名
// 說明:類變量是隨著類的加載而創(chuàng)建,所以及時沒有創(chuàng)建對象實例也可以進行訪問
System.out.println(A.name);
}
}
class A{
// 類變量的訪問,必須遵守相關(guān)修飾符的訪問權(quán)限
static String name = "zhang";
}類變量的使用注意事項和細節(jié)
1、什么時候使用類變量
當(dāng)我們需要讓某個類的所有對象都共享一個變量時, 就可以考慮使用類變量。
2、類變量和實例變量的區(qū)別
類變量是該類所有對象共享的,而實例變量是每個對象獨享的。
3、加上static稱為類變量或靜態(tài)變量,否則稱為 實例變量/普通變量/非靜態(tài)變量;
4、類變量可以通過 類名.類變量名 或者 對象名.類變量名 來訪問,但推薦使用類名;
5、實例變量不能通過 類名.類變量名 方式訪問;
6、類變量是在類創(chuàng)建時就已經(jīng)存在了【構(gòu)造器是在對象進行實例化】;
7、類變量的生命周期隨著類的加載開始,隨著類的消亡而銷毀。
類方法基本介紹
類方法也叫靜態(tài)方法
格式
訪問修飾符 static 數(shù)據(jù)返回類型 方法名(){}
調(diào)用
類名.類方法名
總結(jié)
1、當(dāng)方法中不涉及到任何與對象相關(guān)的成員,則可以將方法設(shè)計成靜態(tài)方法,提高開發(fā)效率
2、如果我們希望不創(chuàng)建實例,也可以調(diào)用某個方法(即當(dāng)作工具來使用)
比如:Math類、Arrays類
3、將一些通用的方法,設(shè)計成靜態(tài)方法【根據(jù)實際情況考慮,一般這些方法集成在一個類下】,這樣我們不需要創(chuàng)建對象就可以使用了。
比如:打印一維數(shù)組,冒泡排序,完成某個計算任務(wù)等等
類方法的使用注意事項和細節(jié)討論
1、類方法和普通方法都是隨著類的加載而加載,將結(jié)構(gòu)信息存儲在方法區(qū);
類方法中無this、super參數(shù),普通方法中隱含著 this、super參數(shù)。
2、類方法可以通過類名調(diào)用,也可以通過對象名調(diào)用【非常不推薦,記住,只要是靜態(tài)的,不管屬性還是方法,統(tǒng)一使用,類名.】;
3、普通方法和對象有關(guān),需要通過對象名調(diào)用,而普通方法不能通過類名調(diào)用。
4、類方法中只能訪問靜態(tài)變量或者靜態(tài)方法
5、普通成員方法,既可以訪問 靜態(tài)成員(方法), 也可以訪問非靜態(tài)變量(方法)
小結(jié):
靜態(tài)方法,只能訪問靜態(tài)成員(方法),而非靜態(tài)方法,則可以訪問靜態(tài)成員和非靜態(tài)成員。
理解main方法語法
解釋main方法的形式:
public static void main(String[] args){
}1、main方法是java虛擬機進行的調(diào)用。所有該方法的權(quán)限必須是public。
2、java虛擬機在調(diào)用main方法的時候不需要創(chuàng)建對象,所以為static
3、方法接受String類型的數(shù)組參數(shù),該數(shù)組中保存執(zhí)行java命令時傳遞給運行類的參數(shù)
4、java執(zhí)行程序的參數(shù)【args】。java 文件名 參數(shù)1 參數(shù)2 參數(shù)3

在IDEA上運行程序時,傳入?yún)?shù)方法

到此這篇關(guān)于Java中類變量和類方法的基本使用的文章就介紹到這了,更多相關(guān)Java類變量和類方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA Debug啟動tomcat報60659端口占用錯誤的解決
工作中將開發(fā)工具由Eclipse轉(zhuǎn)為IntelliJ IDEA,在使用過程中遇到許多問題,其中60659端口占用錯誤對于不熟悉IDEA的開發(fā)者來說或許會比較頭痛,本文就來解決一下這個問題2018-11-11
解決IDEA中下載free maven plugin插件無效的問題
這篇文章主要介紹了解決IDEA中下載free maven plugin插件無效的問題,本文通過圖文并茂的形式給大家分享解決方案,供大家參考,需要的朋友可以參考下2020-11-11
SpringBoot3整合 Elasticsearch 8.x 使用Repository構(gòu)
我們構(gòu)建了一個完整的 Spring Boot 3 和 Elasticsearch 8.x 的增刪改查示例應(yīng)用,使用 Spring Data Elasticsearch Repository,我們能夠快速實現(xiàn)對 Elasticsearch 的基本 CRUD 操作,簡化了開發(fā)流程,希望這個示例能夠幫助你理解如何在項目中有效使用 Elasticsearch!2024-11-11
Springboot Redis?哨兵模式的實現(xiàn)示例
本文主要介紹了Springboot Redis?哨兵模式的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
一篇文章教你將JAVA的RabbitMQz與SpringBoot整合
這篇文章主要介紹了如何將JAVA的RabbitMQz與SpringBoot整合,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2021-09-09

