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

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


  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();

        }

       }


慕侠2389804
浏览 92回答 4
4回答

杨魅力

您可以将您的课程移到外面或使它们成为静态的。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();    }}

桃花长相依

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

喵喔喔

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

慕码人8056858

更正的代码如下abstract class Employee {public abstract void names();public abstract void offices();}class Banani extends Employee {@Overridepublic void names() {    System.out.println("I am at Banani.");}@Overridepublic void offices() {    // TODO Auto-generated method stub}}class Shyamoli extends Employee {@Overridepublic void names() {    System.out.println("I am at Shyamoli");}@Overridepublic void offices() {    // TODO Auto-generated method stub}}public class javatest {public static void main(String[] args) {    Employee south = new Banani();    Employee north = new Shyamoli();    north.names();    south.names();}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java