Java学习周记6

学习Java的第六周

内容同上。

Ch6Demo1


  1. 乐器(Instrument)分为钢琴(piano)小提琴(violin),他们的弹奏方法(play)不同,编写测试类InstrumentTest,要求:编写方法testPlay,对这两种乐器进行弹奏测试。用接口实现

Instrument

public interface Instrument {
	public void play();
}

class piano implements Instrument{
	
	@Override
	public void play() {
		// TODO Auto-generated method stub
		System.out.println("弹钢琴");
	}
	
}

class violin implements Instrument{

	@Override
	public void play() {
		// TODO Auto-generated method stub
		System.out.println("拉小提琴");
	}
	
}

InstrumentTest

public class InstrumentTest {
	public static void testPlay(Instrument obj){
		obj.play();
	}
	public static void main(String[] args) {
		piano A = new piano();
		violin B = new violin();
		testPlay(A);
		testPlay(B);
	}
}

接口的用法。。。。。。。。

Ch6Demo2


  1. 编写程序模拟中国人、美国人、北京人体重、身高、行为。
    除主类外,程序中有4个类:People、ChinaPeople、AmericanPeople和BeijingPeople类。要求如下:
    (1)People类有double型成员变量:height和weight,以及public void speakHello( )、public void averageHeight( )和public void averageWeight( )方法。
    (2)ChinaPeople类是People类的子类,新增了public void chinaGongfu( )方法。要求ChinaPeople重写父类的public void speakHello ()、public void averageHeight( )和public void averageWeight( )方法。
    (3)AmericanPeople类是People的子类,新增public void americanBoxing( )方法。要求AmericanPeople重写父类的public void speakHello( )、public void averageHeight( )和public void averageWeight( )方法。
    (4)BeijingPeople类是ChinaPeople的子类,新增public void beijingOpera( )方法。要求BeijingPeople重写父类的public void speakHello( )、public void averageHeight( )和public void averageWeight( )方法。
    编写一个测试程序,打印出中国人、美国人、北京人的平均的身高和体重,并输出他们的不同行为。

这一题过于简单,请自行脑补代码。

越来越懒的博主。。。。

Ch6Demo3


  1. 定义一个接口CanFly,描述会飞的方法public void fly();分别定义类飞机和鸟,实现CanFly接口。定义一个测试类,测试飞机和鸟。测试类中定义一个makeFly()方法,让会飞的事物飞起来。然后在main方法中创建飞机对象和鸟对象,并在main方法中调用makeFly()方法,让飞机和鸟起飞。

public interface CanFly {
	public void fly();
}

class Plane implements CanFly{

	@Override
	public void fly() {
		// TODO Auto-generated method stub
		System.out.println("飞机靠机翼飞。");
	}
	
}

class Bird implements CanFly{

	@Override
	public void fly() {
		// TODO Auto-generated method stub
		System.out.println("鸟儿用翅膀飞。");
	}
	
}

本题具体参考Ch6Demo1,极度相似。

Ch6Demo4


  1. 学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
    (1)设计学生信息管理接口StudentManageInterface。其中包括setFee()方法和getFee()方法,分别用于设置和获取学生的每学期的学费,假设每学期的学费为整数;
    (2)设计教师信息管理接口TeacherManageInterface。其中包括setPay()方法和getPay()方法,分别用于设置和获取教师的月工资,假设月工资为整数;
    (3)设计在职研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它的成员变量有name(姓名)、sex(性别)、fee(每学期学费)、pay(月工资);
    创建一个姓名为“张翠花”的女研究生,统计他的年收入和学费,如果每年的收入减去学费开销不足20000元,则输出“需要贷款!”的信息。

class Graduate implements StudentManageInterface,TeacherManageInterface{
	private String name;
	private String sex;
	private int fee;
	private int pay;
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	@Override
	public void setPay() {
		// TODO Auto-generated method stub
		this.pay = 10000;
	}

	@Override
	public int getPay() {
		// TODO Auto-generated method stub
		return this.pay;
	}

	@Override
	public void setFee() {
		// TODO Auto-generated method stub
		this.fee = 30000;
	}

	@Override
	public int getFee() {
		// TODO Auto-generated method stub
		return this.fee;
	}
	
}

这个,,多个接口的继承。。

Ch6Demo5


  1. 设计一个接口Student,该接口描述的是本科生(StudentG)和硕士生(StudentM)的公共方法:设置姓名、设置学号,输出所有信息,判断学生是否优秀。在该接口的基础上实现两个类StudentG和StudentM。
    StudentG属性:姓名,学号,是否过CET4,上学年综合测评成绩。StudentG包含方法:构造函数,设置是否过CET4,设置上学年综合测评成绩,接口中定义的所有方法(本科生优秀的标准是过CET4,上学年综合测评成绩大于85分)。
    StudentM属性:姓名,学号,是否过CET6,已发表文章篇数。StudentM包含方法:构造函数,设置是否过CET6,设置发表文章篇数,接口中定义的所有方法(硕士生优秀的标准是过CET6,已发表文章篇数大于1)。
    要求:
    (1)实现上述的接口和类;
    (2)(在main函数内)实例化五个对象:三个本科生,两个硕士生 (至少各有一个优秀);
    (3)用多态的性质来判断所实例化的五个学生是否优秀;
    (4)输出优秀学生的所有属性信息。

public class Test5 {
	public static void main(String[] args) {
		StudentG A = new StudentG("堃堃", "001", "是", 90);
		
		A.display();
		A.isExcellent();
		
		StudentM B = new StudentM("堃堃", "001", "是", 3);
		
		B.display();
		B.isExcellent();
	}
}

接口接口

总结

全是接口!!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值