我有兩個Java類TeradataTable
和RdbmsTable
-獲取子類名超()構造
RdbmsTable.java
public class RdbmsTable {
public RdbmsTable(String uri, String type) {
this.uri = uri;
this.type = type;
}
的TeradataTable.java
public class TeradataTable extends RdbmsTable {
public TeradataTable(String uri) {
super(uri, "TERADATATABLE");
}
有用部分有用的部分,我需要在super()
構造函數中以大寫形式設置className。我不想使用硬編碼的字符串。我不能在super()
中使用this.getClass().getSimpleName().toUpperCase();
。
是否有東西擰設計明智?
*「我不能在'super()'中使用'this.getClass()。getSimpleName()。toUpperCase();''」*爲什麼不?這就是你如何去做你所要求的。但是你不需要在'super()'中執行。你可以在基類中做到這一點。 –
@ T.J.Crowder我需要把兒童班的名字。還有其他類,如OracleTable,NetezzaTable –
是的。和?這就是'this.getClass()。getSimpleName()'會給你的。 –