繁体   English   中英

我可以覆盖类对象的新实例吗?

[英]Can I override a new instance of a class object?

我不知道它叫什么,但是您可以使用以下方法轻松地覆盖方法:

Apple foo = new Apple(){
    public void devour(){
        //Devour apple
    }
};

您可以使用getClass获得对象的类。

是否可以做这样的事情:

Apple a = new Apple();
Class<? extends Apple> B = a.getClass();
Apple c = new B(){
    public void polish(){
        //Polish apple
    }
};

旁注:之所以问这个问题,是因为我特别想在当前swing UI类中UIManager.getUI(component).getClass() 此代码中UIManager.getUI(component).getClass()返回的组件的单个方法。

在第一个代码段中,您将创建Apple的匿名子类,该子类将覆盖devour()方法,然后将foo实例化为该匿名子类的实例。

在第二个示例中,在您的目标中,您不能在该对象已经存在之后更改该对象引用的类/类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM