第一题:
(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())));
}
}