面向对象题目
1.题目需求
1 写一个Worker 类,并创建多个Worker 对象。
1) 为Worker 类添加三个属性:
1)String 类型的name,表示工人的姓名;
2)int 类型的age,表示工人的年龄;
3)double 类型的salary,表示工人的工资。
2) 为Worker 类添加两个构造方法:
1)公开无参构造方法;
2)接受三个参数的构造方法,三个参数分别为字符串、int 和double 类型。
3) 为Worker 类添加两个work 方法:
一个无参,另一个带整数参数,表示工人工作的时间(为多少小时)。
2 创建一个Address 类,描述如下:
1)该类有两个属性:
1)String 类型的address,表示地址;
2)String 类型的zipCode,表示邮编。
2) 该类有两个构造方法:
一为无参构造方法,一为带三个参数的方法。
3 为第1 题中的Worker 类添加一个属性addr:
该属性为Address 类型。
测试:
创建一个Worker 对象,
其姓名为"zhangsan",
年龄为25,
工资为2500,
家庭住址为“北京市海淀区清华园1 号”,
邮政编码为100084。
2.参考代码
public class Worker {
private String name;
private int age;
private double salary;
private Address addr;
public void work() {
System.out.println(name + "正在工作");
}
public void work(int hours) {
System.out.println(name + "正在工作,工作时长:" + hours + "小时");
}
//无参
public Worker() {
}
//有参
public Worker(String name, int age, double salary) {
this.name = name;
this.age = age;
this.salary = salary;
}
public Worker(String name, int age, double salary, Address addr) {
this.name = name;
this.age = age;
this.salary = salary;
this.addr = 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 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;
}
}
3.测试代码
public class TestWorker {
//测试
public static void main(String[] args) {
Address address = new Address("北京市海淀区清华园1号", "100084");
Worker worker = new Worker("zhangsan", 25, 2500, address);
System.out.println("姓名:" + worker.getName());
System.out.println("年龄:" + worker.getAge());
System.out.println("工资:" + worker.getSalary());
System.out.println("地址:" + worker.getAddr().getAddress());
System.out.println("邮编:" + worker.getAddr().getZipCode());
}
}