Java动态地重新定义了一个方法

时间:2015-02-11 15:24:31

标签: java

是否可以在不扩展类的情况下定义方法?

((JComponent) c).paintComponents(Graphics a) {
    // Paint some one
};

2 个答案:

答案 0 :(得分:3)

不,但如果您只是想减少必须定义的类数,可以使用匿名类

JComponent c = new JComponent() {
    @Override public void paintComponent(Graphics g) {
      // do stuff
    }
}

答案 1 :(得分:-1)

没有。不可能。 Java不是解释编程语言。它已编译。例如,您可以在Ruby中执行此操作。