JAVA程序设计实验(3)——Java面向对象

在这里插入图片描述
在这里插入图片描述

(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];
		
		
		}
}
  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值