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

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

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

