• 2021-04-14
    //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 Dog extends Animal  public void eat()  System.out.println("狗具有东西的能力");  super.sleep();  Animal obj1 = new Animal();  Animal obj2 = new Dog();

    举一反三

    内容

    • 0

      public class Parent{ public void change (int x){} } public class Child extends Parent{ //覆盖父类change方法 } 下列哪个声明是正确的覆盖了父类的change方法?

    • 1

      接口Animal声明如下:public interface Animal{ void Move();}则下列抽象类的定义中, 是合法的。 A: abstract class Cat: Animal { abstract public void Move(); } B: abstract class Cat: Animal { virtual public void Move(){Console.Write(Console.Write("Move!");)} } C: abstract class Cat: Animal { public void Move(){Console.Write(Console.Write("Move!");)}; } D: abstract class Cat: Animal { public void Eat(){Console.Write(Console.Write("Eat!");)}; }

    • 2

      现有 public class Parent{ public void change (int x){ …… } public class Child extends Parent{ //覆盖父类change方法 } 下列哪个声明是正确的覆盖了父类的change方法?

    • 3

      下列定义类的格式,和创建对象格式正确的是() A: public class Cell{ private int row; int col; public void getCellInfo(){System.out.println(row+":"+col); }} B: 创建对象的格式:Cell c=new Cell(); C: public class Cell(){ private int row; int col; public void getCellInfo(){System.out.println(row+":"+col); }} D: 创建对象的格式:Cell c=new Cell;

    • 4

      子类继承父类,子类对象对父类对象进行重写,父类引用指向子类对象这三个条件前提下父类引用对子类方法中重写方法的调用()