紫金电光院JAVA课程习题<3>
本篇为Java 继承多态、抽象类接口相关习题。
习题:
1.包名为”pack1”的包里有一个类 Message,用来表示人们的通信信息,它拥有的字段为:name(String 类型),sex(char 类型),age(int 类型address(String 类型),这些字段的访问控制权限都是 private.为每一个字段定义读取和更新该字段信息的方法,并定义一个toString()方法,以生成格式化的输出个信息字段的结果。
还要为 Message 类定义 2 个构造方法,一个构造方法是无参的,另外一个构造方法是对成员变量初始化。
在另外一个包”pack2”里定义一个测试类 Test,里面包含 main 方法,实例化一个 Message类,测试 Message 类里的相关方法(如 toString(),getName()等等)。
package xiti3_1pack1;
public class Message {
//name(String 类型),sex(char 类型),age(int 类型address(String 类型),这些字段的访问控制权限都是 private.
private String name;
private char sex;
private int age;
private String address;
//为每一个字段定义读取和更新该字段信息的方法
public String getname() {
return name;
}
public void setname(String name) {
this.name=name;
}
public char getsex() {
return sex;
}
public void setsex(char sex) {
this.sex=sex;
}
public int getage() {
return age;
}
public void setage(int age) {
this.age=age;
}
public String getaddress() {
return address;
}
public void setaddress(String address) {
this.address=address;
}
public Message() {
}
//构造方法是对成员变量初始化
public Message(String sname,char ssex,int sage,String saddress) {
name=sname;
sex=ssex;
age=sage;
address=saddress;
}
//定义一个toString()方法,以生成格式化的输出个信息字段的结果
public void tostring() {
System.out.println("个人信息为:");
System.out.println("姓名为:"+name);
System.out.println("性别为:"+sex);
System.out.println("年龄为:"+age);
System.out.println("地址为:"+address);
}
}
/
package xiti3_1;
import xiti3_1pack1.Message;
//测试类 Test
public class test {
public static void main(String[] args) {
Message message=new Message("jyy",'w',20,"南京理工大学紫金学院");
message.tostring();
}
}
2.建立一个抽象类 Shape 类,有 Circle(圆形)和 Rect(矩形)子类。Shape 类有 zhouchang()和 area()两种抽象方法。Rect 有 cha()用于比较长宽的差,若长大于宽输出“长比宽大”,否则输出“宽比长大”。(正方形)Squ 为 Rect 子类,在 Squ 类中,重写 cha()方法,并输出“长等于宽”
要求:
(1)要提供 Circle 和 Rect 类要重写父类 Shape 的 zhouchang()和 area()方法
(2)Circle 类要有静态常量 PI