什么叫没有类型为Text1的封闭实例

import java.util.Random;

public class Text1 {

    abstract class Pet {
        public abstract void  playSound();
    }
    static class Dog extends Pet{

        @Override
        public void playSound() {
            System.out.println("汪汪....汪");
        }
    }
    static class Cat extends  Pet{

        @Override
        public void playSound() {
            System.out.println("喵喵.....喵");
        }
    }
    static class Sheep extends  Pet{
        @Override
        public void playSound() {
            System.out.println("咩咩.....咩");
        }
    }

    public static void main(String[] args) {

        Random rand=new Random();
        Dog dog=null;
        Cat cat;
        Sheep sheep;
        for(int i=1;i<=5;i++){
            int m=rand.nextInt(3);
            switch(m){
                case 1:
                   dog=new Dog();
                   dog.playSound();
                   break;
                case 2:
                   cat=new Cat();
                   cat.playSound();
                   break;
                case 3:
                   sheep=new Sheep();
                   sheep.playSound();
                   break;

            }
        }
    }
}
import java.util.Random;

public class Text1 {

    abstract class Pet {
        public abstract void  playSound();
    }
    static class Dog extends Pet{

        @Override
        public void playSound() {
            System.out.println("汪汪....汪");
        }
    }
    static class Cat extends  Pet{

        @Override
        public void playSound() {
            System.out.println("喵喵.....喵");
        }
    }
    static class Sheep extends  Pet{
        @Override
        public void playSound() {
            System.out.println("咩咩.....咩");
        }
    }

    public static void main(String[] args) {

        Random rand=new Random();
        Dog dog=null;
        Cat cat;
        Sheep sheep;
        for(int i=1;i<=5;i++){
            int m=rand.nextInt(3);
            switch(m){
                case 1:
                   dog=new Dog();
                   dog.playSound();
                   break;
                case 2:
                   cat=new Cat();
                   cat.playSound();
                   break;
                case 3:
                   sheep=new Sheep();
                   sheep.playSound();
                   break;

            }
        }
    }
}

 

我是一名刚接触Java的小白,刚学到多态,就是它编译后,就出现标题的,想问一下,这种问题怎么解决

内部类不能定义位抽象类吧,静态内部类是没有问题的

静态内部类不可以继承非静态内部类

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y