java上机课代码。。。重写equals方法,toString方法。。。

本文详细介绍了如何在Java中定义一个Person类,并通过构造方法、成员方法、类变量、成员变量设置与获取方法、重写toString()与equals()方法来实现类的基本功能。此外,还展示了如何在Tester类中测试这些新增加的成员。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一题:
(1)定义一个Person类
成员变量:name,age
成员方法:1)构造方法,一个或多个;
2)sayHello(),输出Hello! My name is……
sayHello(Person p ),给p打招呼的话语。
(2)定义一个Test类
创建Person类的对象,调用相应的方法,输出相关信息。
第二题:
(1)在第一题的基础上,给Person类增加一个类变量num ,num定义为静态的,修改相应的构造方法使num可以对生成的Person类的对象进行计数。
(2)将Person类的成员变量设置为私有,为其添加set和get方法。(在age变量的set方法中,可以判断设置的年龄值是否合法。)
(3)在Person类中重写toString()方法,以字符串的形式,返回一个人的属性信息。
(4)在Person类中重写equals()方法,用来判断两个人的属性是否相等。
(5)定义一个Tester类
创建Person类的对象,测试使用新增加的成员。

//测试类
public class Hzf {
    public static void main(String[] args) {

        Person_01 p = new Person_01("张三",21);
        //p.setAge(125);
        System.out.println("p对象的属性为:"+p.toString());
        Person_01 q = new Person_01("李四",22);
        System.out.println("q对象的属性为:"+q.toString());
        System.out.println("两对象一样吗?。。。"+q.equals(q,p));
        p.sayHello(p);
    }

}

//定义person类
class Person_01{
    private String name;
    private int age;
    private static int num = 0;
    public Person_01(){
        Person_01.num++;
    }
    //Person_01的构造方法
    public Person_01(String name,int age){
        Person_01.num++;
        this.name = name;
        this.age = age;
    }
    //sayHello方法
    public void sayHello(Person_01 p){
        System.out.println("Hello!"+p.name+"....一共创建了"+num+"个对象");
    }
    public int getAge() {
        return age;
    }
    //设置age属性
    public void setAge(int age) {
        if(age>120||age<0){
            System.out.print("您的年龄吓人阿!");
        }else{
            this.age = age;
        }
    }
    //重写toString方法
    public String toString(){
        String str = this.name+"..."+this.age;
        return str;
    }
    //重写equals方法
    public boolean equals(Person_01 p){
        if(this.getClass()!=p.getClass()){
            return false;
        }
        Person_01 b = (Person_01) p;
        return ((this.getAge() == (b.getAge()))&&(this.getName().equals(b.getName())));

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值