A. java類中方法private怎麼調用
私有方法,類外部是無法調用的,解決方法,一,修改為public方法,而,在類內部再添加一個public方法,該方法去調用私有,這樣就不用改動到原方法了
B. java 一個類調用另一個類的private方法
Java調用private方法利用的是Java中的類反射機制 。
定義一個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方法,也可以被調用使用。
C. 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
D. 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
E. java怎麼調用另一個類的方法
java中如何調用類?本類中的直接方法名調用,不管是public還是private或protected。其他類中的如果是public的話,直接其他類的對象調用即可。如果是static的話直接其他類名加方法名調用。
如果另一個類中的那個方法是私有的話,就不能直接調用到,如果是其他類型的話看情況,如果是靜態的(static)話,直接用類名可以調用到,如果是非靜態的,就需要利用另一個類的實例(也就是用那個類生成的對象)來調用。
先在eclipse中創建一個Java工程文件。並在src下創建demo包,在demo包下創建類DemoClass。接下來在DemoClass類中添加一個靜態屬性和靜態方法。被static修飾的屬性或方法就是靜態的。
如果一個類中只有一個名稱為a的方法,那麼我們可以直接調用即可,如下圖所示以下是我們直接使用傳統的方式直接調用這個類中的a方法。
Java中的一個類怎麼調用另一個類中的方法
1、java類有兩種方法一種是類方法就是用static修飾的,一種是實例方法,就是沒有static修飾的方法。類方法可以同時類名.方法名的方式調用。而實例方法必須先生存類的實例在通過實例.方法名的方式調用。
2、如果有訪問許可權的話,可以調用該類的靜態方法(不同包需要引用import);一般的方法只能引用該類的實例對象的方法。直接在此類的方法里調用另一個類或對象的方法。
3、先在eclipse中創建一個Java工程文件。並在src下創建demo包,在demo包下創建類DemoClass。接下來在DemoClass類中添加一個靜態屬性和靜態方法。被static修飾的屬性或方法就是靜態的。
4、與一般調用沒什麼差別,直接new出來另一個類的對象,調用方法即可。
Java中的一個類怎麼調用另一個類中的方法?1、java類有兩種方法一種是類方法就是用static修飾的,一種是實例方法,就是沒有static修飾的方法。類方法可以同時類名.方法名的方式調用。而實例方法必須先生存類的實例在通過實例.方法名的方式調用。
2、先在eclipse中創建一個Java工程文件。並在src下創建demo包,在demo包下創建類DemoClass。接下來在DemoClass類中添加一個靜態屬性和靜態方法。被static修飾的屬性或方法就是靜態的。
3、如果一個類中只有一個名稱為a的方法,那麼我們可以直接調用即可,如下圖所示以下是我們直接使用傳統的方式直接調用這個類中的a方法。
4、如果有訪問許可權的話,可以調用該類的靜態方法(不同包需要引用import);一般的方法只能引用該類的實例對象的方法。直接在此類的方法里調用另一個類或對象的方法。
在java中怎樣使方法調用同一個類中的方法是什麼?1、如果一個類中只有一個名稱為a的方法,那麼我們可以直接調用即可,如下圖所示以下是我們直接使用傳統的方式直接調用這個類中的a方法。
2、方法新建一個類。然後在調用類中先進行被調用類實例化,然後通過實例化的對象訪問。
3、通過this的方式引用,this是當前類的引用,可以在類裡面來引用這個類的屬性和方法。
4、你main方法是靜態方法,靜態方法是不能調用非靜態方法。因為靜態方法是提前載入的。這個時候可能非靜態方法根本就還沒載入。所以,是部允許在靜態方法裡面調用非靜態方法的。