Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用子类覆盖了父';s的主要方法_Java_Methods_Call_Subclass_Abstract - Fatal编程技术网

Java 调用子类覆盖了父';s的主要方法

Java 调用子类覆盖了父';s的主要方法,java,methods,call,subclass,abstract,Java,Methods,Call,Subclass,Abstract,我有一个抽象类测试仪,带有抽象方法test()和main方法: abstract class Tester { abstract String test(); public static void main(String[] args) { doSomething(); Tester t = new Tester() { @Override String test() {

我有一个抽象类测试仪,带有抽象方法test()和main方法:

    abstract class Tester {

     abstract String test();

     public static void main(String[] args) {
          doSomething();

          Tester t = new Tester() {
          @Override
              String test() {
                return "";
              }
          };        
          result = t.test();

          doSomethingElse();
     }            
    }
显然,t.test()将始终为此类和任何其他子类返回“”

但我想在main方法内部调用method test(),这样任何子类都将在执行时(在继承的main方法中)调用自己的测试方法


以我想象的方式,这可能吗?我是否可以将对象t声明为子类对象(不知道其名称),这样他就可以使用自己的抽象方法实现?

在我看来,您还没有仔细考虑您希望如何设计应用程序/对象结构。试着看看是否有更好的方法来组织对象

使情况正常工作的唯一方法是,如果您有一个委托给当前实例的test0()方法或类似方法的test()方法。这是Java在某些地方内部使用的技巧。

类似文章