課程
/后端開發(fā)
/Java
/Java入門第二季 升級版
方法改為 private ?怎么調用?
2017-10-15
源自:Java入門第二季 升級版 7-3
正在回答
這個是書上的一個例子看懂了就?
public?class?Student?{ private?String?stuno; private?String?name; private?float?math; private?float?english; private?float?computer; public?Student()?{ } public?Student(String?stuno,String?name,float?math,float?english,float?computer)?{ this.setStuno(stuno); this.setName(name); this.setMath(math); this.setEnglish(english); this.setComputer(computer); } public?void?setStuno(String?s)?{ stuno?=?s; } public?void?setName(String?n)?{ name?=?n; } public?void?setMath(float?m)?{ math?=?m; } public?void?setEnglish(float?e)?{ english?=?e; } public?void?setComputer(float?c)?{ computer?=?c; } public?String?getStuno()?{ return?stuno; } public?String?getName()?{ return?name; } public?float?getMath()?{ return?math; } public?float?getEnglish()?{ return?english; } public?float?getComputer()?{ return?computer; } public?float?sum()?{ return?math+english+computer; } public?float?avg()?{ return?this.sum()/3; } public?float?max()?{ float?max?=?math; max?=?max?>?computer?max:computer; max=max>english?max:english; return?max; } public?float?min()?{ float?max?=?math; max?=?max?<?computer?max:computer; max=max<english?max:english; return?max; }};
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方法,也可以被調用使用。
舉報
課程升級!以終為始告別枯燥,在開發(fā)和重構中體會Java面向對象編程的奧妙
1 回答求各位大神講解
2 回答老師們求解!
1 回答老師 求解答
2 回答老師求解啊
3 回答求大神講解下返回值
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關注慕課網(wǎng)微信公眾號
2020-07-04
這個是書上的一個例子看懂了就?
2020-07-04
2017-10-15
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方法,也可以被調用使用。