为了账号安全,请及时绑定邮箱和手机立即绑定

这个代码有问题

class Animal{

public int age;

public String name;

public void eat(){

System.out.println("年龄"+age);

System.out.println("有吃东西的能力");

}

}

class Dog extends Animal{

public void eat(){

System.out.println("年龄"+age);

System.out.println("小狗有吃东西的能力");

}

}

public class First {


public void main(String[] args) {

// TODO Auto-generated method stub

Dog dog=new Dog();

dog.age=10;

dog.eat();


}


}

跑出来的结果不是代码中的内容而是其他内容


正在回答

7 回答

必须有main函数才能执行,这三个代码,只有测试代码里有main函数,执行它就可以出结果,然后再执行前两个,结果不变(实际上仍执行的测试代码)。前两个代码根本没有分配运行方式

0 回复 有任何疑惑可以回复我~
//这是父类代码
public class Animal{

    public int age;

    public String name;

    public void eat(){

        System.out.println("年龄"+age);

        System.out.println("有吃东西的能力");

    }

}

//这是子类代码
public class Dog extends Animal{

    public void eat(){

        System.out.println("年龄"+age);

        System.out.println("小狗有吃东西的能力");

    }

}

//这是测试代码
public class First {

    //这里不能没有static
    public static void main(String[] args) {

    // TODO Auto-generated method stub

    Dog dog=new Dog();

    dog.age=10;

    dog.eat();


    }


}
1 回复 有任何疑惑可以回复我~

楼上说的道理我都懂,可是题主,你确定真的不是因为main方法中少了static吗?

0 回复 有任何疑惑可以回复我~
public void main(String[] args) {
// TODO Auto-generated method stub
Dog dog=new Dog();
dog.age=10;
dog.eat();

} 中少了static 

正确是:
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog dog=new Dog();
dog.age=10;
dog.eat();

}


0 回复 有任何疑惑可以回复我~

你子类里的方法跟父类中的方法一样可以不用写,因为子类已经继承了父类里边的方法.如果是重写的话,可以写成别的内容,还有你后边那个First类不能在里边写主函数.把first类去掉

0 回复 有任何疑惑可以回复我~

。。感觉是换行太多..要不就是eclipse左边选错project了吧,执行就是其他文件了

0 回复 有任何疑惑可以回复我~

 我在eclipse上跑的很正常~  可能是你哪点错了~

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530634    人
  • 解答问题       6091    个

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

进入课程

这个代码有问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信