① java中private怎麼調用
類內調用,或使用反射調用
~
~
~
~~~~~~~~~~~~~~~~~~~~~~
② java 一個類文件中的private方法想在另一個類文件中調用怎麼辦,前提是不改變修飾符。
可以在這個類中預留一個public 的方法作為入口。一般規范化的java程序,成員變數都是private保護,然後用的時候public預留出去。private 是繼承不了的。private只有本類引用,繼承至少為default許可權。創建類對象更不用說了,private就是為了不讓你創建對象時直接用的。
③ java中的private怎麼用
public class A{
private int age;
public void setAge(int age){
this.age =age;
}
public int getAge(){
return this.age;
}
}
public class B{
public static void main(String arg[]){
A a = new A();
a.setAge(10);
}
private 是java中封裝的關鍵字。只要是屬性就可以用來private修飾。
如果要屬性要被繼承的話,可以使用protected來修飾。
只要你在另外一個類中持有某個對象的引用,那麼你就可以使用getter和setter方法來操作對象的應用。
}
④ java反射調用private方法
Java程序不能訪問持久化類的private方法,但是利用JAVA的反射機制可以實現調用,代碼如下:
<spanstyle="font-size:14px;">
importjava.lang.reflect.InvocationTargetException;
importjava.lang.reflect.Method;
publicclassReflectDemo{
publicstaticvoidmain(String[]args)throwsException{
Methodmethod=PackageClazz.class.getDeclaredMethod("privilegedMethod",newClass[]{String.class,String.class});
method.setAccessible(true);
method.invoke(newPackageClazz(),"452345234","q31234132");
}
}
classPackageClazz{
privatevoidprivilegedMethod(StringinvokerName,Stringadb){
System.out.println("---"+invokerName+"----"+adb);
}
}
</span>
#程序輸出結果為:---452345234----q31234132
⑤ java private方法子類可以調用嗎
定義一個class,定義一個內部private方法:
public class PrivateTest {
private void print() {
System.out.println("this is a private method");
}
}
再定義一個class去訪問剛才定義的private方法,也就是print()如下
import java.lang.reflect.Method;
public class PrivateTest2 {
public static void main(String[] args) {
try {
Method method = PrivateTest.class.getDeclaredMethod("print", new Class[]{});
method.setAccessible(true);
Method.invoke(new PrivateTest(), new Object[] {});
} catch (Exception ex) {
System.out.println(ex.toString());
}
}
}
利用java的反射機制,即使是private方法,也可以被調用使用。
⑥ java反射,調用private的方法
soeasy
Stringpath=「com.test.B」
Classclazz=Class.forName(path);//獲得b的反射
Bb=(B)clazz.newInstance();//前提是b類有個無參構造函數
Methodm=clazz.getDeclaredMehod("SetName",String.class);
m.setAccessible(true);//不做安全檢查,你才可以去訪問私有方法
m.invoke(b,"哈哈");
這里是給B裡面的(下面這個方法進行調用賦值)
privatevoidSetName(Strings){}
psgetDeclaredMehod是對私有的方法進行調用要訪問必須加setAccessible
getMehod是對通用方法進行調用,不用加setAccessible
⑦ java類中方法private怎麼調用
私有方法,類外部是無法調用的,解決方法,一,修改為public方法,而,在類內部再添加一個public方法,該方法去調用私有,這樣就不用改動到原方法了
⑧ java中private用法
一般放在類中,用來修飾屬性的,為了提高程序的獨立性,減少耦合度。private表示一個類的私有屬性,只能在本類中訪問到,在其他的類中無法進行訪問。
⑨ 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修飾
望採納