无法从静态上下文中引用非静态 方法 是什么原因,还有什么错误,谢谢

来源:4-2 面向对象特性之多态

weixin_慕码人3348875

2021-05-31 16:12

问题:

定义宠物类,定义Dog,Cat 子类


定义主人类,实现和宠物类玩方法playwith(  )


在测试类中用子类实例调用主人类的playwith()方法

我·:1.接口

package pa;

public interface Pet {
    public abstract void playwith();
}

2.Dog类

package pa;

public class Dog implements Pet{

    @Override
    public void playwith() {
System.out.println("The onwer is playing with the dog.");
    }
}

3.Cat类

package pa;

public class Cat implements Pet{

    @Override
    public void playwith() {
        System.out.println("The owner is playing with the cat.");
    }
}

4.Owner类

package pa;

public class Owner {
    public static void main(String[] args) {
        Pet pet =new Cat();
        Pet.playwith();
        Pet pet =new Dog();
        Pet.playwith();
    }
}

运行结果:

无法从静态上下文中引用非静态 方法 playwith()

已在方法 main(java.lang.String[])中定义了变量 pet

写回答 关注

1回答

  • qq_慕仰5048964
    2021-06-05 17:24:44

    .....,名字重复了


Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

531234 学习 · 6327 问题

查看课程

相似问题