2016-06-23 118 views
1

我的代碼:無法在codemodel中創建抽象類?

JCodeModel cm = new JCodeModel(); 
cm._class(JMod.ABSTRACT, "TestClass", ClassType.CLASS); 
cm.build(new File(".")); 

不管我寫modsClassType參數,結果始終是一個public class

如何創建抽象類?

回答

1

奇怪。看起來JCodeModel沒有創建沒有包的抽象類。在下列情況下,有一個包聲明:

JCodeModel cm = new JCodeModel(); 
cm._class(JMod.PUBLIC | JMod.ABSTRACT, "test.TestClass", ClassType.CLASS); 
cm.build(new File(".")); 

生成:

package test; 

public abstract class TestClass { 

} 

JCodeModel cm = new JCodeModel(); 
JPackage pkg = cm._package(""); 
pkg._class(JMod.ABSTRACT, "TestClass2", ClassType.CLASS); 
cm.build(new File(".")); 

生成:

public abstract class TestClass2 { 

}