方法重写练习

本文介绍了如何在Java中创建Person和Student类,Person类有name和age属性,Student类继承自Person并添加id和score属性。主要展示了构造器、方法和实例化的使用。
摘要由CSDN通过智能技术生成
题目

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

Person类
public class Person {
    private String name;
    private int age;

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public String say() {
        return "我叫" + name + "," + "今年" + age + "岁";
    }

    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类
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;
    }

    public String say() {
        return super.say() + ",id:" + id + ",成绩:" + score;
    }

    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;
    }
}

Main方法
public class Main {
    public static void main(String[] args) {
        Person person = new Person("张三",18);
        System.out.println(person.say());
        Student student = new Student("李四", 20, "1001", 99);
        System.out.println(student.say());
    }
}
输出结果

请添加图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Java 中,`compareTo` 方法是 `Comparable` 接口中的一个方法,用于对对象进行比较。在使用 `Arrays.sort()` 方法或 `Collections.sort()` 方法对对象进行排序时,需要实现 `Comparable` 接口并重写 `compareTo` 方法。 `compareTo` 方法的定义如下: ```java public int compareTo(T o); ``` 其中,`T` 表示要比较的对象类型,`o` 表示要比较的对象。 `compareTo` 方法需要返回一个整数值,用于表示当前对象与参数对象的大小关系。返回值为负数表示当前对象小于参数对象,返回值为零表示当前对象等于参数对象,返回值为正数表示当前对象大于参数对象。 下面是一个例子,演示如何重写 `compareTo` 方法: ```java public class Person implements Comparable<Person> { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } @Override public int compareTo(Person o) { // 先按照年龄进行比较 int result = this.age - o.age; if (result == 0) { // 年龄相同,按照姓名进行比较 result = this.name.compareTo(o.name); } return result; } // 省略 getter 和 setter 方法 } ``` 在上面的例子中,我们实现了 `Comparable` 接口,并重写了 `compareTo` 方法。首先,我们按照年龄进行比较,如果年龄相同,则按照姓名进行比较。这样,我们就可以使用 `Arrays.sort()` 方法或 `Collections.sort()` 方法对 `Person` 对象进行排序了。 ### 回答2: compareTo方法是Java中Object类的一个方法,用于比较两个对象的大小关系。在一些情况下,我们可能需要自定义比较两个对象的规则,这时就需要对compareTo方法进行重写。 对于一个自定义的类,我们可以在其中重写compareTo方法,以定义该类对象之间的比较规则。一般而言,compareTo方法会返回一个整数值,用于表示两个对象的大小关系。如果返回值为正数,则表示调用compareTo方法的对象大于传入的对象;如果返回值为零,则表示两个对象相等;如果返回值为负数,则表示调用compareTo方法的对象小于传入的对象。 在重写compareTo方法时,我们可以根据对象的某个属性进行大小比较,也可以根据多个属性进行综合比较。根据具体需求,我们可以使用各种比较操作符(如"<", ">", "=")来进行比较判断,并返回相应的整数值。 需要注意的是,当重写compareTo方法时,必须保证与equals方法的实现一致。也就是说,如果两个对象相等(equals返回true),那么它们的compareTo方法的返回值应该为0。 总之,compareTo方法的重写可以用于定义自定义类对象之间的大小关系,使得我们能够更灵活地进行对象的排序和比较操作。 ### 回答3: compareTo方法是Java中的一个方法,用于比较两个对象的大小关系。它是Comparable接口中的一个抽象方法,需要在具体对象中进行重写实现。 重写compareTo方法的目的是为了自定义对象的比较规则。当我们需要对自定义类的对象进行比较时,可以通过重写compareTo方法来指定比较的方式。比较的结果通常有三种情况: 1. 如果两个对象相等,即compareTo返回0,表示两个对象在比较上是相等的; 2. 如果第一个对象大于第二个对象,即compareTo返回正整数,表示第一个对象在比较上大于第二个对象; 3. 如果第一个对象小于第二个对象,即compareTo返回负整数,表示第一个对象在比较上小于第二个对象。 在重写compareTo方法时,需要注意以下几点: 1. 对于可比较的属性,可以通过比较它们的值来确定对象的大小关系; 2. 保持compareTo方法的传递性。即如果A比B大,B比C大,那么A一定比C大; 3. 对于不可比较的属性,可以将它们转换为可比较的形式后进行比较; 4. 兼容性。当调用compareTo方法与equals方法产生的结果不一致时,可能会导致一些问题。 总之,compareTo方法的重写可以实现自定义对象的比较规则,使得我们可以根据自己的需求对对象进行比较和排序。在重写时需注意传递性、兼容性等问题,以确保代码的正确性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值