JavaScript中类对象的重写方法

JavaScript中类对象的重写方法,java,overriding,Java,Overriding,我可以用JavaScript编写: myobject.doSomething = function() { // stuff.. } 那么,我如何使用Java的@Override功能来实现同样的功能呢?你的意思是这样的吗 Main.java private class SuperClass { public void myMethod() { System.out.println("Test!"); } } private class Chil

我可以用JavaScript编写:

myobject.doSomething = function() {
    // stuff..
}

那么,我如何使用Java的@Override功能来实现同样的功能呢?

你的意思是这样的吗

Main.java

private class SuperClass
{
    public void myMethod()
    {
        System.out.println("Test!");
    }
}

private class ChildClass extends SuperClass
{
    @Override
    public void myMethod()
    {
        System.out.println("Testtest!");
    }
}

public class Main
{
    public static void main(String[] args)
    {
        SuperClass superInstance = new SuperClass();
        ChildClass childInstance = new ChildClass();

        superInstance.myMethod();
        childInstance.myMethod();
    }
}

你是说像这样的事吗

Main.java

private class SuperClass
{
    public void myMethod()
    {
        System.out.println("Test!");
    }
}

private class ChildClass extends SuperClass
{
    @Override
    public void myMethod()
    {
        System.out.println("Testtest!");
    }
}

public class Main
{
    public static void main(String[] args)
    {
        SuperClass superInstance = new SuperClass();
        ChildClass childInstance = new ChildClass();

        superInstance.myMethod();
        childInstance.myMethod();
    }
}

不能在
Java
中重写单个
对象的方法,因为
Java
不是函数式语言。但是,您可以在声明方法的
的子类中重写该方法

宣布:


不能在
Java
中重写单个
对象的方法,因为
Java
不是函数式语言。但是,您可以在声明方法的
的子类中重写该方法

宣布:


您可以在使用创建对象时执行此操作;基本上只为一个对象创建一个子类。例如:

Label label = new Label() {
    @Override
    public void setText(String text) {
        super.setText(text);
        System.out.println("Text has been set to " + text);
    }
};

label.setText("Test");

您可以在使用创建对象时执行此操作;基本上只为一个对象创建一个子类。例如:

Label label = new Label() {
    @Override
    public void setText(String text) {
        super.setText(text);
        System.out.println("Text has been set to " + text);
    }
};

label.setText("Test");

你能更具体地谈谈你的问题吗。请不要要求我们将代码从一种语言转换成另一种语言。我们不这样做,你不能在Java中这样做。与JavaScript不同,Java的OO不是基于原型的。所以你不能这么做。那么这个@Override是如何工作的呢?
@Override
什么都做不了。这只是一个注释,你能更具体地谈谈你的问题吗。请不要要求我们将代码从一种语言转换成另一种语言。我们不这样做,你不能在Java中这样做。与JavaScript不同,Java的OO不是基于原型的。所以你不能这么做。那么这个@Override是如何工作的呢?
@Override
什么都做不了。这仅仅是一个注释。