构建单独的Java类层次结构

构建单独的Java类层次结构,java,object,hierarchy,class-hierarchy,Java,Object,Hierarchy,Class Hierarchy,Java中的其他每个类都继承自该类 是否可以基于我自己的FastObjectclass在Java中添加第二个完全独立的类层次结构? 我这样做的最初目标是创建更小、更快的对象,并减少专门为某些算法设计的功能。但让我明确一点,我对这是否是一个“好主意”不感兴趣。我只想知道这是否可能;我一直未能找到这样做的方法。是否需要更改JVM?新的引导类路径功能?忽略对象并考虑替换java.lang.Class,这才是真正的解决方案吗?使用直接Java编译器而不是VM会使我的工作更容易吗 明确地说,我不想只编辑根

Java中的其他每个类都继承自该类

是否可以基于我自己的
FastObject
class在Java中添加第二个完全独立的类层次结构?

我这样做的最初目标是创建更小、更快的对象,并减少专门为某些算法设计的功能。但让我明确一点,我对这是否是一个“好主意”不感兴趣。我只想知道这是否可能;我一直未能找到这样做的方法。是否需要更改JVM?新的引导类路径功能?忽略
对象
并考虑替换
java.lang.Class
,这才是真正的解决方案吗?使用直接Java编译器而不是VM会使我的工作更容易吗


明确地说,我不想只编辑根
对象
类。这可能需要重新编写整个Java库。我不想替换当前的层次结构,我只想创建一个可以在同一代码中使用的独立层次结构。

您可以通过修改引导类路径来注入自己的对象实现。然而,我不认为有任何方法可以使用除对象之外的基础对象。您可以尝试一些字节码操作,但您修改的类很可能会被类加载器拒绝。

不,这是不可能的

所有创建的类都显式或隐式扩展另一个类。如果创建一个类并显式定义它扩展的类,那么它将扩展该类。如果不是,则隐式扩展
对象
。没有办法解决这个问题,就像没有办法让操作符或类似的东西过载一样。这是Java编程语言的一个基本设计决策


所有类都扩展
对象
。唯一没有的是基本类型。当然,
Object
本身是个例外,它不扩展自身。

鉴于“所有创建的类都扩展了另一个类,无论是显式的还是隐式的,
Object
扩展了什么?或者这是规则的例外?不想学究气,只是curious@chrisbunney除了Object,哈哈,touch。除一人外,其他所有人:尽管我打算将“创建的类”理解为“用户创建的、自定义的、非核心的Java类”。@chrisbunney
Object
并没有扩展任何内容。在Java中,Object是规则的例外,VM/编译器必须知道要运行的Object类的路径。这相当于“替换当前层次结构”,OP说他不想这样做。他希望能够同时使用两者。不过,这确实很有趣。我可以在业余时间试试这个,看看效果如何。:)@杰夫-是的,我意识到我的建议并不完全是OP想要的。我在回答中也说了同样的话。