導航:首頁 > 知識科普 > 私有方法怎麼調用

私有方法怎麼調用

發布時間:2022-10-18 08:00:32

『壹』 java中如何調用私有變數或方法

private關鍵字
(1)私有的意義,可以修飾成員變數和成員方法
(2)特點:
被private修飾的後的成員只能在本類中被訪問
(3)private的應用:
以後再寫一個類的時候:
把所有的成員變數給private了
提供對應的getXxx()/setXxx()方法
/*
封裝和private的應用:
A:把成員變數用private修飾
B:提高對應的getXxx()和setXxx()方法
*/
//定義學生類
classStudent{
//姓名
privateStringname;
//年齡
privateintage;

//姓名獲取值
publicStringgetName(){
returnname;
}

//姓名設置值
publicvoidsetName(Stringn){
name=n;
}

//年齡獲取值
publicintgetAge(){
returnage;
}

//年齡賦值
publicvoidsetAge(inta){
age=a;
}
}

//測試類
classStudentTest{
publicstaticvoidmain(String[]args){
//創建學生對象
Students=newStudent();

//使用成員變數
//錯誤:被私有修飾了,外界不能直接訪問了
//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反射機制怎樣調用類的私有方法

為了一看就懂,請看下面的示例(假設調用 MyTest類的私有方法 privateMethod()):

publicclassReflectionTest{

(Objectobj)throwsSecurityException,NoSuchMethodException,IllegalArgumentException,IllegalAcces***ception,InvocationTargetException{//核心代碼加粗
Classcls=obj.getClass();
//獲得類的私有方法
Methodmethod=cls.getDeclaredMethod("privateMethod",null);
method.setAccessible(true);//沒有設置就會報錯
//調用該方法
method.invoke(obj,null);
}
publicstaticvoidmain(Stringargs[])throwsSecurityException,IllegalArgumentException,NoSuchMethodException,IllegalAcces***ception,InvocationTargetException{

setObjectColor(newMyTest());
}
}
//測試類
classMyTest{

publicvoidsetMyTest(){
System.out.println("setMyTest");
}
/**
類的私有方法
**/
privatevoidprivateMethod(){
System.out.println("調用了privateMethod");
}

}

『叄』 在java里子類中公有方法怎麼調用私有方法

直接調用即可。公有方法只是說執行許可權是公有的,但是方法仍然定義在該類中,其他類是沒有許可權修改的,因此直接調用私有方法並不會導致許可權溢出。

至於繼承關系,你只要搞清楚哪些函數來自繼承,哪些來自重寫就可以知道他們的私有公有屬性,和這個無關(只要是protected級別以上都可以調用)

publicclassTest{
privatevoidprivateMethod(){
}

publicvoidpublicMethod(){
privateMethod();
}
}

這樣是沒有問題的

『肆』 java中,怎麼調用別的類的私有方法

反射(reflection)
[java] view plain
public static void main(String[] args) throws Exception {

Constructor<?> constructor = SecretTool.class.getDeclaredConstructors()[0];
constructor.setAccessible(true);
SecretTool tool = (SecretTool) constructor.newInstance(); // 得到它的一個實例

for(Method method : SecretTool.class.getDeclaredMethods()) {
method.setAccessible(true);
if(method.getName().equals("myMotto")) {
method.invoke(tool); // 調用沒有返回值,無參的私有方法
} else if(method.getName().equals("calculate")) {
Integer result = (Integer)method.invoke(tool, 1,2);
System.out.println("1 + 2 = " + result.toString()); // 調用返回值為整數,且帶參的私有方法
}
}
}

輸出結果:
[plain] view plain
I like potato
1 + 2 = 3

『伍』 在一個類中如何調用另一個類的私有方法

用private修飾的方法,那是私有的..不管你外部哪裡如何調用都不行的.這個都是jdk規定死的.公有方法可以調用..

就好比你媳婦和你身上的錢.都很重要..錢可以借別人用用..媳婦能借么?對吧.哪怕是父母兄弟.該借的能借.不能借的打死接不到..

當然.這私有方法就和媳婦一樣..不管是誰..就是java他爸來也是沒法訪問私有的方法..所以.你在反射.也不行..這壓根和注釋都沒有關系...

老大私有是啥概念.就是自己的東東..你要知道..媳婦能公有么?媳婦就是private的..那不是小姐.小姐是public的

『陸』 java類中方法private怎麼調用

私有方法,類外部是無法調用的,解決方法,一,修改為public方法,而,在類內部再添加一個public方法,該方法去調用私有,這樣就不用改動到原方法了

『柒』 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中, 怎麼調用別的類的私有方法

利用反射即可調用;
簡易實例代碼如下:
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

/**
* @author thomaslwq
* @version 創建時間:Sep 4, 2012 9:53:49 PM
* 類說明
*/
public class ReflectionTest {

public static void setObjectColor(Object obj) throws SecurityException, NoSuchMethodException, IllegalArgumentException, IllegalAcces***ception, InvocationTargetException{
Class cls = obj.getClass();
//獲得類的私有方法
Method method = cls.getDeclaredMethod("privateMethod", null);
method.setAccessible(true); //沒有設置就會報錯
//調用該方法
method.invoke(obj, null);
}
public static void main(String args[]) throws SecurityException, IllegalArgumentException, NoSuchMethodException, IllegalAcces***ception, InvocationTargetException{

setObjectColor(new MyTest());
}
}
//測試類
class MyTest{


public void setMyTest(){
System.out.println("setMyTest");
}
/**
類的私有方法
**/
private void privateMethod(){
System.out.println("調用了 private Method");
}

}

『玖』 私有內部類的私有方法怎麼調用

對外部類來說,內部類也是其內部成員,當然可以調用其私有成員(包括私有構造器)。

『拾』 在一個類中如何調用另一個類的私有方法

利用反射在外部類生成調用類的對象,然後獲取調用方法,並修改Accessible,然後執行方法

閱讀全文

與私有方法怎麼調用相關的資料

熱點內容
中式棉襖製作方法圖片 瀏覽:63
五菱p1171故障碼解決方法 瀏覽:858
男士修護膏使用方法 瀏覽:546
電腦圖標修改方法 瀏覽:607
濕氣怎麼用科學的方法解釋 瀏覽:537
910除以26的簡便計算方法 瀏覽:805
吹東契奇最簡單的方法 瀏覽:704
對腎臟有好處的食用方法 瀏覽:98
電腦四線程內存設置方法 瀏覽:512
數字電路通常用哪三種方法分析 瀏覽:13
實訓課程的教學方法是什麼 瀏覽:525
苯甲醇乙醚鑒別方法 瀏覽:82
蘋果手機微信視頻聲音小解決方法 瀏覽:700
控制箱的連接方法 瀏覽:75
用什麼簡單的方法可以去痘 瀏覽:789
快速去除甲醛的小方法你知道幾個 瀏覽:803
自行車架尺寸測量方法 瀏覽:124
石磨子的製作方法視頻 瀏覽:152
行善修心的正確方法 瀏覽:403
土豆燉雞湯的正確方法和步驟 瀏覽:276