1.
定义一个丈夫Husband类,有姓名、年龄、妻子属性
Wife
定义一个妻子Wife类,有姓名、年龄、丈夫属性
Husband
丈夫类中有一个getInfo方法,其中,能显示自己的姓名,年龄,和他的妻子的姓名,年龄
妻子类中有一个getInfo方法,其中,能显示自己的姓名,年龄,和她的丈夫的姓名,年龄
定义一个测试类,创建妻子和丈夫对象,然后测试
public class Husband {
// 属性
private String name;
private int age;
private Wife wife;
// 构造方法
public Husband() {
}
public Husband(String name,int age) {
this.name=name;
this.age=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;
}
public Wife getWife() {
return wife;
}
public void setWife(Wife wife) {
this.wife = wife;
}
// 方法
public String getInfo() {
return "我叫" + getName() + "。我今年" + getAge() + "岁了。她是我的妻子" + getWife().getName() + "今年"+getWife().getAge()+"岁了";
}
}
public class Wife {
// 属性
private String name;
private int age;
private Husband husband;
// 构造方法
public Wife() {
}
public Wife(String name,int age) {
this.name=name;
this.age=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;
}
public Husband getHusband() {
return husband;
}
public void setHusband(Husband husband) {
this.husband = husband;
}
// 方法
public String getInfo() {
return "我叫" + getName() + "。我今年" + getAge() + "岁了。他是我的丈夫" + getHusband().getName() + "今年"+getHusband().getAge()+"岁了";
}
}
public class Test {
public static void main(String[] args) {
// 实例化对象
Wife a = new Wife("小美", 28);
Husband b = new Husband("大强", 30);
// 调用方法
a.setHusband(b);
b.setWife(a);
// 输出信息
System.out.println(a.getInfo());
System.out.println(b.getInfo());
}
}
2.
定义写一个 Worker 类。
1) 为 Worker 类添加三个属性,1)String 类型的 name,表示工人的姓名;2)int 类型
的 age,表示工人的年龄;3)double 类型的 salary,表示工人的工资。
2) 为 Worker 类添加两个构造方法,1)公开无参构造方法;2)接受三个参数的构造方
法,三个参数分别为字符串、int 和 double 类型。
3) 为 Worker 类添加两个 work 方法,一个无参,另一个带整数参数,表示工人工作的
时间(为多少小时)
创建一个 Address 类,描述如下:
1)该类有两个属性,1)String 类型的 address,表示地址;
2)String 类型的 zipCode,表示邮编。
3)该类有两个构造方法,一为无参构造方法,一为带三个参数的方法。
为上面中的 Worker 类添加一个属性 addr,该属性为 Address 类型。
创建一个 Worker 对象,其姓名为"tutu",年龄为 25,工资为 2500,家庭住址为“翻斗花园翻斗区”,邮政编码为10086。
public class Worker {
// 属性
private String name;
private int age;
private double salary;
private Address addr;
// 构造方法
public Worker() {
}
public Worker(String name,int age,double salary,Address addr) {
this.setName(name);
this.setAge(age);
this.setSalary(salary);
this.setAddr(addr);
}
// 封装属性
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;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public Address getAddr() {
return addr;
}
public void setAddr(Address addr) {
this.addr = addr;
}
// 方法
public void work() {
System.out.println("工作时长为八小时。");
}
public void work(int hours) {
System.out.println(getName()+"工作时长为"+hours+"小时。");
}
public String getInfo() {
return "我叫" + getName() + "。我今年" + getAge() + "岁了。工资" + getSalary()+"元。"
+ "家庭住址是"+getAddr().getAddress() + "。邮编为"+getAddr().getZipCode()+"。";
}
}
public class Address {
// 属性
private String address;
private String zipCode;
// 构造方法
public Address() {
}
public Address(String address, String zipCode) {
this.address = address;
this.zipCode = zipCode;
}
// 封装属性
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getZipCode() {
return zipCode;
}
public void setZipCode(String zipCode) {
this.zipCode = zipCode;
}
}
public class Test {
public static void main(String[] args) {
// 实例化对象
Address b = new Address("翻斗花园翻斗区", "10086");
Worker a = new Worker("tutu", 25, 2500, b);
// 调用方法
a.work();
a.work(8);
// 输出信息
System.out.println(a.getInfo());
}
}