java訪問私有成員
本文通過反編譯內部類的位元組碼,說明了內部類是如何訪問外部類對象的成員的,除此之外,我們也對編譯器的行為有了一些了解,編譯器在編譯時會自動加上一些邏輯,這正是我們感覺困惑的原因。關於內部類如何訪問外部類的成員,分析之後其實
『貳』 java中如何調用私有變數或方法
private關鍵字
(1)私有的意義,可以修飾成員變數和成員方法
(2)特點:
被private修飾的後的成員只能在本類中被訪問
(3)private的應用:
以後再寫一個類的時候:
把所有的成員變數給private了
提供對應的getXxx()/setXxx()方法
/*
封裝和private的應用:
A:把成員變數用private修飾
B:提高對應的getXxx()和setXxx()方法
*/
//定義學生類
class Student {
//姓名
private String name;
//年齡
private int age;
//姓名獲取值
public String getName() {
return name;
}
//姓名設置值
public void setName(String n) {
name = n;
}
//年齡獲取值
public int getAge() {
return age;
}
//年齡賦值
public void setAge(int a) {
age = a;
}
}
//測試類
class StudentTest {
public static void main(String[] args) {
//創建學生對象
Student s = new Student();
//使用成員變數
//錯誤:被私有修飾了,外界不能直接訪問了
//System.out.println(s.name+"---"+s.age);
System.out.println(s.getName()+"---"+s.getAge());
//給成員變數賦值
//s.name = "林青霞";
//s.age = 27;
//通過方法給賦值
s.setName("林青霞");
s.setAge(27);
System.out.println(s.getName()+"---"+s.getAge());
}
}
『叄』 JAVA如何調用類的私有成員public和private如何區分使用!!!!
若是調用私有變數,則可以在類中定義get()方法,即返回值就是你想得到的那個變數。Java中一般把變數(屬性)定義成私有的,把方法定義成公有的。public定義的屬性或方法在子類中可以調用,而private定義的屬性或方法在子類中不可以調用。
『肆』 ****JAVA中類的對象為何可以調用該類的私有成員
當然可以
私有成員,就是供本類使用的類型,其他類是看不到的啊
java中
類的對象的創建也是有范圍的,不是都可以創建的!!
在java中,即使別的類
得到了該類的對象,也是無法訪問該類的私有成員的!私有成員,只供本類使用
『伍』 java中如果有一個A類,怎樣從b類訪問a中的私有成員變數
您好,提問者:
如果這個類的成員、方法定義為private只支持本類訪問。
public、protected、defualt(默認不寫)繼承、同包是都可以訪問到的。
可以封裝成方法,對外暴露,例如:
publicclassTest{
privateStringname;
//提供公共的賦值方法
publicvoidsetName(Stringname){
this.name=name;
}
//提供公共的獲取方法
publicStringgetName(){
returnname;
}
}
『陸』 java中私有成員的調用
私有成員只能在本類中調用,在本類以外一律都看不到.如果要在其他類中獲得私有成員變數,那麼可以在本類中寫一個public的get方法,其他類就可以通過調用這個get方法獲得私有成員變數.
class PrivateTest(){
private String str = "私有成員變數";
//如果加上這個方法
public String getStr(){
return str;
}
public static void main(String[] args){
System.out.println(str);//這里可以調用到str變數
}
}
class OtherClass(){
PrivateTest pt = new PrivateTest();
public static void main(String[] args){
String tryToGet = pt.str;//這句編譯會報錯,str不可見
String getStr = pt.getStr();//這樣 就可以獲取到str的值
}
}
『柒』 java中我定義了兩個類,想在其中一個類方法中訪問另一個類的私有成員,如何實現
即然那個類中的是私有成員,要是用另一個類去訪問是不可能訪問到的,就像你的錢包里的錢我能花嗎?
要是想訪問只有調用set或get方法調用!意思就是如果我們是好朋友,叫你給我一點錢的話,你就從你的錢包里拿給我!
『捌』 Java main函數為什麼可以訪問對象的私有成員變數
1、Java main函數之所以可以訪問對象的私有成員變數,是因為這個對象的成員變數提供了獲取成員變數的方法即get方法,這樣main方法就可以通過創建出這個對象,再通過這個對象調用get方法來訪問這個私有成員變數;
2、接下來通過一個例子來進一步的解釋:
首先創建一個包含私有成員變數的類,如下:
publicclassDemo2{
privateinta=1;
publicintgetA(){//提供get方法
returna;
}
}
其次創建包含main的類,如下:
publicclassDemo1{
publicstaticvoidmain(String[]args){
Demo2demo2=newDemo2();//創建對象
System.out.println(demo2.getA());//通過對象調用get方法訪問私有成員變數
}
}
這樣就通過創建的對象的get方法來訪問到了對象的私有成員變數了。
『玖』 java中,子類不可以訪問父類的私有成員和受保護的成員。對 錯
錯誤!具體訪問修飾符的作用范圍見下:
同一個類
同一個包
子類
其他
private
是
default
是
是
protected
是
是
是
public
是
是
是
是
希望對你有所幫助!