• Java日志第12天 2020.7.17


    第五章 类的继承和多态

    5.6综合实例

    一般试卷中都有选择题,选择题又可分为单选择题和多选择题。其简单的流程图如图5-4所示。

     父类Question定义:

     子类SingleQuestion

     子类MultiQuestion

     测试类PaperDemo

     

    5.8 上机练习

    1.请分别定义父类People和子类Student,观察Student是如何共享父类属性和方法的。

    public class People {
    public String name;
    public String sex;
    public int age;
    public String getName(){
    return name;
    }
    public void setName(String name){
    this.name=name;
    }
    public String getSex(){
    return sex;
    }
    public void setSex(String sex){
    this.sex=sex;
    }
    public int getAge(){
    return age;
    }
    public void setAge(int age){
    this.age=age;
    }
    }

    public class Student extends People {
    private String deparetment;//系别
    private String specialty;//专业
    String name = super.name;
    public void test(){
    super.getAge();
    }
    }

    2.在题1的People中定义final方法,然后在类Student中定义与该final相同的方法,观察Student的变化。

    public class People {
    public String name;
    public String sex;
    public int age;
    public String getName(){
    return name;
    }
    public void setName(String name){
    this.name=name;
    }
    public String getSex(){
    return sex;
    }
    public void setSex(String sex){
    this.sex=sex;
    }
    public int getAge(){
    return age;
    }
    public void setAge(int age){
    this.age=age;
    }
    public final void test1(){
    }
    private final void test2(){
    }
    }

    public class Student extends People {
    private String deparetment;//系别
    private String specialty;//专业
    String name = super.name;
    public void test(){
    super.getAge();
    }
    public void test1(){//父类权限为public,且被final修饰报错!
    }
    public void test2(){//父类权限为private,且被final修饰 不报错!
    }
    }

    3.将题目1的父类People定义成抽象类,用子类Student来继承它。

    public abstract class People {
    public String name;
    public String sex;
    public int age;
    public String getName(){
    return name;
    }
    public void setName(String name){
    this.name=name;
    }
    public String getSex(){
    return sex;
    }
    public void setSex(String sex){
    this.sex=sex;
    }
    public int getAge(){
    return age;
    }
    public void setAge(int age){
    this.age=age;
    }
    public abstract void setValues(String name,String sex,int age);
    }


    public class Student extends People {
    private String deparetment;//系别
    private String specialty;//专业
    String name = super.name;
    public void test(){
    super.getAge();
    }
    public void setValues(String name,String sex,int age){
    super.name=name;
    this.sex=sex;
    this.age=age;
    }

    public static void main(String[] args) {
    People people = new Student();
    people.setValues("伍正云","男",25);
    System.out.print(people.getName()+" "+people.getSex()+" "+people.getAge());
    System.out.println();
    }
    }

    今天把第五章学完了,感觉前边学的有点不扎实,明天开始第六章的同时,要往回看一看。

  • 相关阅读:
    退休夫妇不顾反对坚持创业,把自己的品牌推向了市场
    年终将至,财务人如何做好数据分析?
    圣诞快乐:Oracle Database 19c 的10大新特性一览
    perl 获取表记录数
    rex 防止调度还没完成后又继续发起
    希腊女孩创办自媒体教希腊语,如今用户已达1000人
    在20天里赚三千多元,他靠创意经营商店,扩大了店面
    小杂货店的崛起,他坚信创新和拼搏是成功的两大法宝
    thinkphp
    thinkphp
  • 原文地址:https://www.cnblogs.com/Gazikel/p/13333781.html
Copyright © 2020-2023  润新知