当前位置: 首页 > 知识库问答 >
问题:

为什么我不能在这里创建抽象类的对象,并且我得到了非静态变量的错误,这不能从静态上下文中引用[重复]

顾乐家
2023-03-14

我在执行此代码时出错。为什么我得到的是非静态变量这不能从静态上下文引用?

  class javatest{
     public abstract class Employee {
            public abstract void names();

                 }

      public class Banani extends Employee{
            @Override
            public void names(){
               System.out.println("I am at Banani.");
             }
          }

       public class Shyamoli extends Employee{
              @Override
              public void names(){
              System.out.println("I am at Shyamoli");
       }
   }

        public static void main(String[] args){


           Employee south = new Banani();
           Employee north = new Shyamoli();
           north.names();
           south.names();
        }
       }

共有3个答案

汪兴旺
2023-03-14

我建议您使用IDE,它会为您提供足够的信息。

孙德宇
2023-03-14

在您的代码示例中,没有一个子类实现抽象方法offices(),因为Banani和Shyamoli都是抽象的,不能被指示

谯德佑
2023-03-14

您可以将类移到外部,也可以使它们保持静态。

public abstract class Employee {
    public abstract void names();
    }

public class Banani extends Employee {
    @Override
    public void names() {
        System.out.println("I am at Banani.");
    }
}

public class Shyamoli extends Employee {
    @Override
    public void names() {
        System.out.println("I am at Shyamoli");
    }
}

class javatest {

    public static void main(String[] args) {
        Employee south = new Banani();
        Employee north = new Shyamoli();
        north.names();
        south.names();
    }
}
 类似资料: