创建抽象类、_Java 继承&抽象类习题答案

础题目

第一题:概念辨析

1. 什么叫做类与类的继承,作用是什么?

  • 就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。
  • 作用是子类复用父类内容。
  1. 继承后,父类与子类之间,各成员有什么样的影响?
  • 成员变量:
  • 不重名,没有影响。
  • 重名,就近使用,使用super区分父类变量。
  • 构造方法:
  • 无影响,但是子类构造方法默认调用父类构造方法
  • 成员方法:
  • 不重名,没有影响。
  • 重名,子类重写父类方法。
  1. 子类中,如何调用父类的成员?如何使用本类的成员?
  • 父类成员方法:super.方法名
  • 父类非私有成员变量:super.变量名
  • 子类成员方法:this.方法名
  • 子类成员变量:this.变量名
  1. 抽象方法与普通成员方法有什么区别?
  • 抽象方法使用abstract关键字修饰,没有方法体。
  • 成员方法有方法体。
  1. 抽象类与普通类有什么区别?
  • 方法:
  • 抽象类可以包含抽象方法和成员方法。
  • 普通类不可以包含抽象方法,只有成员方法。
  • 对象:
  • 抽象类不可以创建对象。
  • 普通类可以创建对象。

第二题:语法练习

  • 语法点:继承,抽象类
  • 按步骤编写代码,效果如图所示:
be8726c0bc675d5d5456771406ac276c.png
  • 编写步骤:
  1. 定义抽象类A,抽象类B继承A,普通类C继承B
  2. A类中,定义成员变量numa,赋值为10,抽象showA方法。
  3. B类中,定义成员变量numb,赋值为20,抽象showB方法。
  4. C类中,定义成员变量numc,赋值为30,重写showA方法,打印numa,重写showB方法,打印numb,定义showC方法,打印numc。
  5. 测试类中,创建C对象,调用showA方法,showB方法,showC方法。
  • 参考答案:
 public class Test2 {  public static void main(String[] args) {  // 创建C对象  C c = new C();  // 调用c 中方法  c.showA();  c.showB();  c.showC();  } }  abstract class A{  int numa = 10;  public abstract void showA(); }  abstract class B extends A{  int numb = 20;  public abstract void showB(); }  class C extends B{  int numc = 30;   @Override  public void showA() {  System.out.println("A类中numa:"+numa);  }   @Override  public void showB() {  System.out.println("B类中numb:"+numb);   }  public void showC(){  System.out.println("C类中numc:"+numc);  } }

第三题:语法练习

  • 语法点:继承,抽象类
  • 按步骤编写代码,效果如图所示:
21647a5648017c900436754c49c73798.png
  • 编写步骤:
  1. 模拟农学院动物医疗系统信息。
  2. 定义抽象家禽类(Poultry)
  3. 私有成员变量:动物种类(name),症状(symptom),年龄(age), 病因(illness)
  4. 提供空参和带参构造方法
  5. 成员方法:
  6. 抽象方法症状(showSymptom)
  7. 普通方法基本信息(showMsg)
  8. 提供setXxx和getXxx方法
  9. 定义普通鸭子类(Duck)
  10. 提供空参和带参构造方法
  11. 重写showSymptom方法,打印症状信息。
  • 参考答案:
 public class Test3 {  public static void main(String[] args) {  Duck duck = new Duck("鸭子

版权声明:本文为weixin_39641450原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。