下面的这个类模拟了一个家庭宠物的生活。main 方法创建了一个Pet 实例,用它来表示一只名叫Fido 的狗,然后让它运行。虽然绝大部分的狗都在后院里奔跑(run),这只狗却是在后台运行(run)。那么,这个程序会打印出什么呢?

张鹏 发布于 2013/06/06 10:22
阅读 255
收藏 0

下面的这个类模拟了一个家庭宠物的生活。main 方法创建了一个Pet 实例,用它来表示一只名叫Fido 的狗,然后让它运行。虽然绝大部分的狗都在后院里奔跑(run),这只狗却是在后台运行(run)。那么,这个程序会打印出什么呢?

题目来源:程序员吐槽

public class Pet{
    public final String name;
    public final String food;
    public final String sound;
    public Pet(String name, String food, String sound){
        this.name = name;
        this.food = food;
        this.sound = sound;
    }
    public void eat(){
        System.out.println(name + ": Mmmmm, " + food );
    }
    public void play(){
        System.out.println(name + ": " + sound + " " + sound);
    }
    public void sleep(){
        System.out.println(name + ": Zzzzzzz...");
    }
    public void live(){
        new Thread(){
            public void run(){
                while(true){
                    eat();
                    play();
                   sleep();
                }
           }
        }.start();
    }
    public static void main(String[] args){
        new Pet("Fido", "beef", "Woof").live();
    }
}

加载中
0
王瑞平
王瑞平

Fido:Mmmmm,beef

Fido:Woof Woof

Fido:ZZZZZZZZ

 

0
王瑞平
王瑞平

也许编译错误

0
灯光下的宁静
灯光下的宁静

你这个sleep()方法和jdk里面的thread.sleep()冲突了吧   换个方法名字就能运行了


返回顶部
顶部