//Animal类 public class Animal{ int age; public void eat(){ System.out.println("动物具有东西的能力"); } public void sleep(){ System.out.println("动物也会睡觉"); } } //Dog类继承Animal类 public { //重写eat方法,将输出内容改成"狗具有吃东西的能力" { } public void dogsleep(){ //调用父类sleep方法 } } public class Test(){ //父类引用指向本类对象,创建对象obj1 //父类引用指向子类对象,创建对象obj2 }
举一反三
- class Animal { public Animal() { System.out.println("Animal!"); } } public class Dog extends Animal{ public Dog() { System.out.println("Dog!"); } public static void main(String[] args) { Dog dog=new Dog(); } }
- 已知有如下代码:public abstract class Animal{public abstract void run();public abstract void eat();}public class Tiger extends Animal{}则关于上述两个类说法正确的是? A: Animal是Tiger的父类 B: Tiger是Animal的子类 C: Tiger是抽象类,因为它继承了抽象类 D: Tiger类编译失败,因为它继承了Animal抽象类的方法,并没有对这些方法定义,所以编译失败 E: Tiger类编译成功
- 请阅读下面的程序,写出运行结果,如果编译失败,写明失败原因。 abstract class Animal{ public final abstract void eat(); } class Cat extends Animal{ public void eat(){ System.out.println("cat...fish"); } } class CatDemo{ public static void main(String[] args){ Animal a = new Cat(); a.eat(); } }
- 现有 public class Parent{ public void change (int x){ } } public class Child extends Parent{ //覆盖父类change方法 }下列哪个声明是正确的覆盖了父类的change方法? A: protected void change (int x){} B: public void change(int x, int y){} C: public void change (int x){} D: public void change (String s){}
- public class Parent{ public void change(int x){} } public class Child extends Parent{ //覆盖父类change方法 } 下列哪个声明是正确的覆盖了父类的change方法?() A: protected void change(int x){} B: public void change(int x, int y){} C: public void change(String s){} D: public void change(int x){}