Java面向?qū)ο笾饔糜蛟敿?xì)解讀
Java的作用域
一、基本使用
1.在java編程中,主要的變量就是屬性(成員變量)和局部變量
2.局部變量一般是指在成員方法中定義的變量
3.java中作用域的分類
①全局變量:也就是屬性,作用域?yàn)檎麄€(gè)類體
②局部變量:也就是除了屬性之外的其他變量,作用域?yàn)槎x他的代碼塊中
4.全局變量(屬性)可以不賦值直接使用,因?yàn)橛心J(rèn)值;局部變量必須賦值后才能使用,因?yàn)闆](méi)有默認(rèn)值
二、注意事項(xiàng)和使用細(xì)節(jié)
1.屬性和局部變量可以重名,訪問(wèn)時(shí)遵循就近原則
2.在同一個(gè)作用域中,比如在同一個(gè)成員方法中,兩個(gè)局部變量不能重名
3.屬性生命周期較長(zhǎng),伴隨著對(duì)象創(chuàng)建而創(chuàng)建,伴隨對(duì)象銷毀而銷毀。局部變量生命周期較短,伴隨著它的代碼塊的執(zhí)行而創(chuàng)建,伴隨著代碼塊的結(jié)束而銷毀。即在一次方法調(diào)用過(guò)程中
4.作用域范圍不同
①全局變量(屬性):可以被本類使用或其他類使用(通過(guò)對(duì)象調(diào)用)
②局部變量:只能在本類中對(duì)應(yīng)的方法中使用
5.修飾符不同
①全局變量(屬性):可以加修飾符,如:public protected private..
②局部變量:不可以加修飾符
public class VarScopeDetail{
public static void main(String[] args){
Person p1 = new Person();
/*
屬性生命周期較長(zhǎng),伴隨著對(duì)象的創(chuàng)建而創(chuàng)建,伴隨著對(duì)象的銷毀而銷毀。
局部變量,生命周期較短,伴隨著它的代碼塊的執(zhí)行而創(chuàng)建,
伴隨著代碼塊的結(jié)束而銷毀。即在一次方法調(diào)用過(guò)程中
*/
p1.say();//當(dāng)執(zhí)行say方法時(shí),say方法的局部變量比如name會(huì)創(chuàng)建,當(dāng)say執(zhí)行完畢后
//name局部變量就會(huì)銷毀,但是屬性(全局變量)仍然可以使用
T t1 = new T();
t1.test();
t1.test2(p1);
}
}
class T{
//全局變量/屬性:可以被本類使用,或其他類使用(通過(guò)對(duì)象調(diào)用)
public void test(){
Person p1 = new Person();
System.out.println(p1.name);//jack
}
public void test2(Person p){
System.out.println(p.name);
}
}
class Person{
//細(xì)節(jié): 屬性可以加修飾符(public protected private..)
// 局部變量不能加修飾符
public int age = 20;
String name = "jack";
public void say(){
//細(xì)節(jié) 屬性和局部變量可以重名,訪問(wèn)時(shí)遵循就近原則
String name = "king";
System.out.println("say() name=" + name);
}
public void hi() {
String address = "北京";
//String address = "上海";//錯(cuò)誤,重復(fù)定義變量
String name = "hsp";//可以
}
}到此這篇關(guān)于Java面向?qū)ο笾饔糜蛟敿?xì)解讀的文章就介紹到這了,更多相關(guān)Java的作用域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解SpringBoot時(shí)間參數(shù)處理完整解決方案
這篇文章主要介紹了詳解SpringBoot時(shí)間參數(shù)處理完整解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Java并發(fā)源碼分析ConcurrentHashMap線程集合
這篇文章主要為大家介紹了Java并發(fā)源碼分析ConcurrentHashMap線程集合,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Java中關(guān)于字典樹(shù)的算法實(shí)現(xiàn)
字典樹(shù),又稱單詞查找樹(shù),Trie樹(shù),是一種樹(shù)形結(jié)構(gòu),哈希表的一個(gè)變種。用于統(tǒng)計(jì),排序和保存大量的字符串,本文針對(duì)字典樹(shù)給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09
springboot的LogbackLoggingSystem配置加載流程解析
這篇文章主要介紹了springboot的LogbackLoggingSystem配置加載流程源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
Java利用正則表達(dá)式提取數(shù)據(jù)的方法
最近由于項(xiàng)目需求需要提取txt里的數(shù)據(jù),之前用C#實(shí)現(xiàn)過(guò),由于最近學(xué)習(xí)了java,所以嘗試用java實(shí)現(xiàn)下,這篇文章主要介紹了Java利用正則表達(dá)式提取數(shù)據(jù)的方法,需要的朋友可以參考下,下面來(lái)一起看看吧。2016-12-12
idea 安裝 Mybatis 開(kāi)發(fā)幫助插件 MyBatisCodeHelper-Pro 插件破解版的方法
MyBatisCodeHelper-Pro 插件可以幫助我們快速的開(kāi)發(fā) mybatis,這篇文章給大家介紹idea 安裝 Mybatis 開(kāi)發(fā)幫助插件 MyBatisCodeHelper-Pro 插件破解版的相關(guān)知識(shí),感興趣的朋友跟隨小編一起看看吧2020-09-09
MyBatis數(shù)據(jù)脫敏的實(shí)現(xiàn)方案介紹
在我們數(shù)據(jù)庫(kù)中有些時(shí)候會(huì)保存一些用戶的敏感信息,比如:手機(jī)號(hào)、銀行卡等信息,如果這些信息以明文的方式保存,那么是不安全的2022-08-08

