我正在编写(嗯,完成)Java 的“扩展”,这将有助于角色编程。
我用 javacc 将我的代码翻译成 Java 代码。我的编译器向每个声明的类添加一些代码。这是一个更清楚的例子:
MyClass extends String implements ObjectWithRoles { //implements... is added
/*Added by me */
public setRole(...){...}
public ...
/*Ends of stuff added*/
...//myClass stuff
}
它为您声明的每个类添加了 Implements.. 和必要的方法。很粗糙,不是吗?
如果我在一个类中编写我的方法并且所有类都扩展它会更好.. 但是.. 如果类已经扩展了另一个类(就像示例一样)?
我不想创建一种管理角色的包装器,因为我不希望程序员只知道 Java、很少的新保留字及其用法。
我的想法是扩展 java.lang.Object.. 但你不能。 (对吗?)
其他想法?
我是新来的,但我关注这个网站,所以感谢您的阅读和您给出的所有答案! (我为英语道歉,我是意大利人)
最佳答案
如果它只是一个“研究”项目,您想在其中探索这种扩展如何工作,您可以提供您自己的 Object
类实现。只需复制现有的对象实现,添加您的 setRole
方法等,并提供 -Xbootclasspath:.:/usr/lib/jvm/java-6-sun/jre/lib/rt.jar
作为 java 命令的参数。 (在查看真正的 rt.jar
之前,我将在 .
中查找 api 类。)
关于Java:扩展对象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2855576/