我只是有一個問題,有沒有辦法從一個不同類的私人類訪問公共方法?例如,print方法可以從不同的類訪問,因爲該類是私有的?如何從java中的不同類中的私有類訪問公共方法?
private class TestClass {
public void print() {
}
}
我只是有一個問題,有沒有辦法從一個不同類的私人類訪問公共方法?例如,print方法可以從不同的類訪問,因爲該類是私有的?如何從java中的不同類中的私有類訪問公共方法?
private class TestClass {
public void print() {
}
}
是的。
您實際上不會返回對您的私人類的直接引用,因爲其他類不能使用它。相反,你擴展了一些公共類,並將你的私有類作爲該公共類的一個實例返回。然後可以調用它繼承的任何方法。
public interface Printable {
void print();
}
public class Test {
public Printable getPrintable() {
return new PrintTest();
}
private class PrintTest implements Printable {
public void print() {
}
}
}
Test test = new Test();
test.getPrintable().print();
哦所以通過實現一個接口,我們可以創建一個鏈接,允許我們從私人類訪問打印方法?如何擴展私人課程並訪問它? –
是的,你也可以這樣做,因爲私有類的子類也將繼承私有類的超類。希望這不會和我一樣讓你感到困惑。 –
哈哈不,你真的清楚了一個例子,它幫助我更快地掌握它。謝謝你的幫助。 –
您可以通過使用公共類擴展該類來做到這一點。或者你可以隨時使用反射!
你爲什麼不嘗試自己並不困難:) – nachokk
可以在任何TestClass對象上調用print方法。麻煩來自實現這樣的目標。 – Sinkingpoint
但是,當我嘗試它說方法未定義的類 –