(1)设计一个学生类Student和它的子类Undergraduate,要求与操作如下:
a. Student类有name和age属性,1个带两个参数构造方法(用来对name和age赋值),1个show()方法打印Student的属性信息。
b. Undergraduate类增加1个degree(学位)属性。 1个带三个参数构造方法(用来对name、 age和degree赋值),1个show()方法打印Undergraduate的属性信息。
c. 在测试类中分别创建Student对象和Undergraduate对象,调用它们的show()。
Student类
public class Student {
String name;
int 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 void show() {
System.out.println(name+" "+age);
}
}
Undergraduate类
public class Undergraduate extends Student {
String degree;
public void setN(String name,int age,String degree) {
super.name = name;
super.age = age;
this.degree = degree;
}
public void show() {
System.out.println(name+" "+age+" "+degree);
}
}
测试类
public class Test {
public static void main(String[] args) {
Student stu = new Student();
Undergraduate un = new Undergraduate();
stu.setAge(18);
stu.setName("张总");
stu.show();
un.setN("张总", 18, "博士");
un.show();
}
}
(2)设计一个抽象类Animal、一个接口Show、两个实现类Dog和Cat,要求如下:
a. Animal含有两个抽象方法eat()和sleep(),两个成员变量name和age。Show接口含有一个抽象方法show()。
public abstract class Animal {
int age;
String name;
public abstract void eat();
public abstract void sleep();
}
b. Dog和Cat类都是Animal和Show的实现类,都具有带参数的构造方法,show方法用于输出对象的属性都信息。
public class Cat extends Animal {
String name;
int age;
public Cat(String name,int age) {
this.name = name;
this.age = age;
}
public void eat() {
System.out.println(name+"爱吃泡面");
}
public void sleep() {
System.out.println(name+"明天早上要七点起床");
}
}
public class Dog extends Animal implements show{
String name;
int age;
public Dog(String name,int age) {
this.name = name;
this.age = age;
}
public void eat() {
System.out.println(name+"爱吃骨头");
}
public void sleep() {
System.out.println(name+"明天早上还是7点起床");
}
public void show() {
System.out.println(name+" "+age);
}
}
测试类test
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
Dog dog = new Dog("小黄",1);
dog.eat();
dog.sleep();
dog.show();
// Animal animal = new Animal();
Animal animal = new Dog("中黄", 6);
animal.eat();
animal.sleep();
//animal.show();
show show = new Dog("大黄", 4);
show.show();
// show.eat();
// show.sleep();
System.out.println("******************************");
Dog dog2 = (Dog) show;
dog2.eat();
dog2.sleep();
dog2.show();
Animal[] an2 = new Animal[10];
}
}