java私有屬性
㈠ 關於java中的私有屬性
因為私有屬性是通過Object o這個對象來調用的啊,並沒有直接訪問私有屬性
㈡ java里一個私有的屬性如何在其他類裡面進行訪問
既然是私有屬性就不建議直接訪問的,一般會提供方法來訪問私有屬性,這樣可以在方法中對屬性的訪問做一些控制。
當然也可以通過反射來直接訪問。
我們准備一個包含私有屬性的類
然後通過反射來訪問屬性,記得一定要加aField.setAccessible(true);這句代碼,不然就不能訪問私有屬性。
不加aField.setAccessible(true);
加了aField.setAccessible(true);
㈢ Java反射設置私有屬性和獲取屬性
Java代碼
package ;
import java lang reflect Field;
import java lang reflect InvocationTargetException;
import java lang reflect Method;
public class TestBean {
private int age;
public static void main(String []args) throws InstantiationException IllegalAccessException SecurityException NoSuchFieldException{
try {
Class<?> class =Class forName( TestBean );
Object tObject=class newInstance();
Field field=class getDeclaredField( age );
field setAccessible(true); //設置私有屬性范圍
field set(tObject );
System out print(field get(tObject));
try {
Method method=class getMethod( setAge int class);
method invoke(tObject );
Method getMethod=class getMethod( getAge );
System out println(getMethod invoke(tObject));
} catch (NoSuchMethodException e) {
// TODO Auto generated catch block
e printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto generated catch block
e printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto generated catch block
e printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto generated catch block
e printStackTrace();
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
this age = age;
}
lishixin/Article/program/Java/hx/201311/26324
㈣ java中為什麼要將屬性進行私有化
這就涉及到Java的封裝性,通過private將屬性私有化,並提供public的set/get方法來賦值和取值,就是為了隱藏對象的細節,讓使用者不能隨意訪問數據,只能通過設計好的set/get方法來訪問和修改數據。
這保證了數據的安全性,同時也確保了代碼的可維護性。
㈤ java中受保護的屬性型是不是指私有屬性
受保護屬性是指的 protected修飾的屬性, 並不是私有屬性,私有屬性是private修飾的
protected修飾的屬性,是允許同包下其他類直還有子類可以直接接訪問的,private修飾的屬性是僅限本類內可以直接訪問,限制范圍比protected要小
㈥ java 私有的屬性,方法和公有的介紹一下
publicclassTest{
privateStringgen; //私有屬性,表示用戶性別
publicStringgetGen(){ //公開方法,用來獲取這個用戶的性別
returngen;
}
publicvoidsetGen(Stringgen){ //公開方法,用來獲取這個用戶的性別
this.gen=testGen(gen); //當用戶設置性別的時候,調用私有方法來判斷參數是否合法
}
/**
*私有方法,用來測試用戶設置的性別是否為男|女,如果設置不正確默認為男
*@paramgen 可選值,男|女
*@return如果不合法,則返回男
*/
privateStringtestGen(Stringgen){
if("男".equals(gen)||"女".equals(gen)){
returngen;
}else{
return"男";
}
}
publicstaticvoidmain(String[]args){
}
}
㈦ java 可以訪問父類的私有屬性嗎
不可以。
私有屬性(private)只能當前類才能調用,子類無法訪問。
㈧ JAVA中私有屬性private可以被子類繼承嗎
肯定是被繼承的。但是子類無法訪問父類的私有屬性或方法,子類繼承是繼承父類的所有東西除了構造函數。