Java面向?qū)ο笾饔糜蛟敿毥庾x
Java的作用域
一、基本使用
1.在java編程中,主要的變量就是屬性(成員變量)和局部變量
2.局部變量一般是指在成員方法中定義的變量
3.java中作用域的分類
①全局變量:也就是屬性,作用域為整個類體
②局部變量:也就是除了屬性之外的其他變量,作用域為定義他的代碼塊中
4.全局變量(屬性)可以不賦值直接使用,因為有默認值;局部變量必須賦值后才能使用,因為沒有默認值
二、注意事項和使用細節(jié)
1.屬性和局部變量可以重名,訪問時遵循就近原則
2.在同一個作用域中,比如在同一個成員方法中,兩個局部變量不能重名
3.屬性生命周期較長,伴隨著對象創(chuàng)建而創(chuàng)建,伴隨對象銷毀而銷毀。局部變量生命周期較短,伴隨著它的代碼塊的執(zhí)行而創(chuàng)建,伴隨著代碼塊的結(jié)束而銷毀。即在一次方法調(diào)用過程中
4.作用域范圍不同
①全局變量(屬性):可以被本類使用或其他類使用(通過對象調(diào)用)
②局部變量:只能在本類中對應的方法中使用
5.修飾符不同
①全局變量(屬性):可以加修飾符,如:public protected private..
②局部變量:不可以加修飾符
public class VarScopeDetail{
public static void main(String[] args){
Person p1 = new Person();
/*
屬性生命周期較長,伴隨著對象的創(chuàng)建而創(chuàng)建,伴隨著對象的銷毀而銷毀。
局部變量,生命周期較短,伴隨著它的代碼塊的執(zhí)行而創(chuàng)建,
伴隨著代碼塊的結(jié)束而銷毀。即在一次方法調(diào)用過程中
*/
p1.say();//當執(zhí)行say方法時,say方法的局部變量比如name會創(chuàng)建,當say執(zhí)行完畢后
//name局部變量就會銷毀,但是屬性(全局變量)仍然可以使用
T t1 = new T();
t1.test();
t1.test2(p1);
}
}
class T{
//全局變量/屬性:可以被本類使用,或其他類使用(通過對象調(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{
//細節(jié): 屬性可以加修飾符(public protected private..)
// 局部變量不能加修飾符
public int age = 20;
String name = "jack";
public void say(){
//細節(jié) 屬性和局部變量可以重名,訪問時遵循就近原則
String name = "king";
System.out.println("say() name=" + name);
}
public void hi() {
String address = "北京";
//String address = "上海";//錯誤,重復定義變量
String name = "hsp";//可以
}
}到此這篇關(guān)于Java面向?qū)ο笾饔糜蛟敿毥庾x的文章就介紹到這了,更多相關(guān)Java的作用域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java并發(fā)源碼分析ConcurrentHashMap線程集合
這篇文章主要為大家介紹了Java并發(fā)源碼分析ConcurrentHashMap線程集合,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02
springboot的LogbackLoggingSystem配置加載流程解析
這篇文章主要介紹了springboot的LogbackLoggingSystem配置加載流程源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-11-11
idea 安裝 Mybatis 開發(fā)幫助插件 MyBatisCodeHelper-Pro 插件破解版的方法
MyBatisCodeHelper-Pro 插件可以幫助我們快速的開發(fā) mybatis,這篇文章給大家介紹idea 安裝 Mybatis 開發(fā)幫助插件 MyBatisCodeHelper-Pro 插件破解版的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2020-09-09
MyBatis數(shù)據(jù)脫敏的實現(xiàn)方案介紹
在我們數(shù)據(jù)庫中有些時候會保存一些用戶的敏感信息,比如:手機號、銀行卡等信息,如果這些信息以明文的方式保存,那么是不安全的2022-08-08

