[英]Can not use public methods of subclasses java
我正在使用NetBeans用JTable-s創建一些桌面應用程序,但是我遇到了麻煩:
我正在創建JTable的子類,假設CustomJTable:
public class CustomJTable extends JTable {
private Object[][] someData;
public CustomJTable (Object[][] someData) {
this.someData = someData;
}
public doSomething () {
// do something
}
}
public class MyApp {
...
public void someMethod (Object[][] someData) {
JTable table = new CustomJTable(someData);
table.doSomething(); // this method does not belong to JTable and
// is unusable to me in NetBeans
}
...
}
NetBeans表示在類JTable中找不到doSomething方法。 因為我也不是很困惑。 感謝您的建議。
這只是縮短的示例代碼,以顯示故障源。
您正在實例化JTable的實例,然后嘗試調用屬於CustomJTable的方法。
在CustomJTable中擴展JTable不會為您提供CustomJTable擁有的方法。
為了調用該方法實例化正確的對象:
CustomJTable table = new CustomJTable(someData);
由於運行時多態性,它將在運行時解決。 您需要輸入類型轉換。
JTable table = new CustomJTable(someData);
((CustomJTable) table).doSomething();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.