java訪問private變數
你所說的其實是JAVA中的子類能否訪問父類的私有成員(方法或屬性),在Java中,子類不繼承父類的私有成員變數,super常用於訪問父類中被子類覆蓋的那些方法或屬性。private修飾符作用范圍,只在本類可見,即使子類也不可訪問。Java是面向對象的,具有封裝性,一個聲明為private的變數後不可以被外界訪問。
❷ java 對象能訪問私有變數
private:
訪問許可權僅限於類的內部,是一種封裝的體現,例如,大多數成員變數都是修飾符為private的,它們不希望被其他任何外部的類訪問。
也就是說,private的私有隻針對其他類,在同一類中並無關系,可以調用
❸ java中private什麼意思啊
java中private是訪問許可權符。私有的意思。
private在英文里是私人的意思.
眾所周知,JAVA是面向對象的一門語言,每個對象都有各自的屬性和方法.但是有的屬性涉及安全因素或秘密因素不能讓外面的程序調用,所以就用到了private,
經過它定義的變數只能在此對象內部調用,外部程序就無法調用,也就是說只能供其自身調用,比如某個人是一個對象,那麼他的血液就肯定是私有變數,只能供其自身調用來維持人的狀態.而如果將血液定義成public(公共的)的話,隨便其他人都可以改變他血液的狀態,你隨便把他的血液值設為逆流,那他不就掛了.
❹ 在Java中怎麼訪問類中用Private修飾的私有變數
外提供訪問方式,就因為可以在訪問方式中加入邏輯判斷等語句。
對訪問的數據進行操作。提高代碼健壯性。
*/
//年齡定義是私有的,我們現在想要去訪問,首先用邏輯判斷語句輸出(setAge)合法的年齡值,然後定義為a,然後得到(getAge)
//合法的年齡值,然後自定義一個speak方法把得到的合法年齡值列印出來。之所以在邏輯判斷語句中調用speak方法,是因為這個
//類是私有的,所以只能在自己本類中調用。最後在主函數中創建這個對象,然後通過傳參訪問到自己想要的年齡值。
❺ java 調用private變數的問題
這個問題自己試一下就行了,作為指向DOG對象的AMINAL引用a只能訪問從超類中繼承的屬性和方法,當然這些東西必須是公開的(PUBLIC),受保護的(PROTECTED)或是在同一個包下未申明修飾符的(DEFAULT),而私有的東西(PRIVATE)只有AMINAL(超類)自己才擁有,而DOG(子類)自出生以來就不會知道AMINAL(超類)還有個NAME屬性,當然無法訪問到!
在ANIMAL內的MAIN方法中,ANIMAL當然知道自己有NAME這個屬性,此時的a會被當成的真正的ANIMAL來處理,雖然指向的是個DOG,但它的引用卻在ANIMAL內部,等於說ANIMAL在訪問自己
PRIVATE是對ANIMAL這個類的限制並不是對a的限制
DOG在ANIMAL內會有NAME,但出了ANIMAL就被抹去了
❻ 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中的private到底有什麼用
private是訪問控制修飾符,用來使用訪問控制符來保護對類、變數、方法和構造方法的訪問。
在程序中需要隱藏類的實現細節和保護類的數據時,就要使用private來修飾。例如:
public class Logger {
private String format;
public String getFormat() {
return this.format; }
public void setFormat(String format) {
this.format = format; }
}
實例中,Logger 類中的 format 變數為私有變數,所以其他類不能直接得到和設置該變數的值。為了使其他類能夠操作該變數,定義了兩個 public 方法:getFormat() (返回 format的值)和 setFormat(String)(設置 format 的值)。
(7)java訪問private變數擴展閱讀
1、private的訪問控制:
當前類:可見
同一包內:不可見
子孫類(同一包):不可見
子孫類(不同包):不可見
其他包:不可見
2、private的使用對象:變數、方法;不能修飾類(外部類)。
❽ java 如何訪問類中的私有變數
不能,私有就是只能本類對象及方法訪問。
當然,父類裡面定義了set
get方法,子類必須通過這些方法可以間接訪問到它們。
❾ java 中的private 變數 與 方法的 調用問題
private方法是私有的,不能從外部調用,只能內部調用
private變數同理
比如這個類:
class A{
private int a=0;
}
class B{
public void function(){
new A().a=1//這樣寫是錯誤的!
}
}
改進方法:
class A{
private int a=0;
public int geta(){
return a;
}
}
class B{
public void function(){
int a=new A().geta;
a+=1;
}
}
然後你希望這個a不變的話,即每次調用這個方法都公用同一個a,可以用static修飾
望採納
❿ java中private的訪問控制
private是私有屬性,如果對象可以調用對方的成員變數或方法只能說明這個成員變數或方法是靜態的,是他們公用的。保護控制在類的級別上,而不是對象的級別上