Java学习之重写练习题-创新互联

目录

目前成都创新互联已为1000+的企业提供了网站建设、域名、网络空间、网站托管运营、企业网站设计、平顶山网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

第一题

第二题

题目要求

代码

Person类

Student类

代码需改进的地方

测试类

运行结果


第一题

重写和重载的比较

注释:自己没有想出重载对修饰符有无要求

第二题 题目要求

1) 编写一个 Person 类,包括属性/private(name、age) 构造器、 方法 say(返回自我介绍的字符串)。
2) 编写一个 Student 类, 继承 Person 类, 增加 id、 score 属性/private, 以及构造器, 定义 say 方法(返回自我介绍的信息)。
3) 在 main 中,分别创建 Person 和 Student 对象, 调用 say 方法输出自我介绍
代码

代码 Person类
package com.hspedu.override_.exercise_;

public class Person {

    private String name;
    private int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //方法say:返回自我介绍
    public String say() {
        return "名字=" + name + " 年龄=" + age;
    }
    //get和set方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
Student类
package com.hspedu.override_.exercise_;

public class Student extends Person{
    
    private String id;
    private double score;
    //构造器
    public Student(String name, int age, String id, double score) {
        super(name, age);
        this.id = id;
        this.score = score;
    }
    //say方法(重写)
    public String say(){
//        return "名字=" + super.getName() + " 年龄=" + super.getAge() + " id=" +
//                id + " score=" + score;
        return super.say() + " id=" +
               id + " score=" + score;

    }
    //get和set方法
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public double getScore() {
        return score;
    }

    public void setScore(double score) {
        this.score = score;
    }
}
代码需改进的地方

访问父类的name和age属性(两个都是private)时,我用的是super.getXxx()去访问,老师是直接用super.say()

测试类
package com.hspedu.override_.exercise_;

public class OverrideExercise {
    //3.在main中,分别创建Person和Student对象,
    // 调用say方法输出自我介绍
    public static void main(String[] args) {
        Person karry = new Person("karry", 45);
        System.out.println(karry.say());
        Student sam = new Student("Sam", 24, "20221201", 86.4);
        System.out.println(sam.say());
    }
}
运行结果

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文标题:Java学习之重写练习题-创新互联
标题来源:http://azwzsj.com/article/ddseci.html