Java的零基础入门:接口的实现(三)

博主简介:
博客主页:Java知识分享博主
Java零基础入门专栏:Java零基础入门专栏
Java交流社区:飞鸟社区
欢迎阅读,如果文章对你有帮助点赞,支持一下!


推荐阅读
Java零基础入门:概论(一)
Java零基础入门:实战教程(二)

问题描述:

一、定义接口Shape,包含如下方法:double getArea()方法和double getPerimeter()方法

  • 定义矩形类,实现上述接口。
  • 定义测试类。

定义Shape父类接口,Rectangle子类的接口实现,定义长宽,构造函数,实现方法,然后调用方法,输出面积和周长

package test8;

interface Shape{ //定义父类接口
	double getArea();
	double getPerimeter();
}
public class S1{
	public static void main(String[] args){
		Shape C1=new Rectangle(3.7,5.0);
		C1.getArea();
		C1.getPerimeter();
		System.out.println("矩形的面积:"+C1.getArea());
		System.out.println("矩形的周长:"+C1.getPerimeter());
		
	}
}
class Rectangle implements Shape {  //接口的实现
  public double length;
  public double height;
  
  Rectangle(double x,double y){  //构造函数
		length=x;
		height=y;
	}
  public double getArea(){  //方法
	  return length*height;
  }
  public double getPerimeter(){
	  return 2*(length+height);
  }

}

在这里插入图片描述

问题描述:

二、设计一个接口Student,该接口描述的是本科生(StudentG)和硕士生(StudentM)的公共方法:设置姓名,设置学号,输出所有信息,判断学生是否优秀。在该接口的基础上实现两个类StudentG和StudentM。

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

定义Stu接口初始化,在该接口的基础上实现两个类StudentG和StudentM。姓名,学号,是否过CET4/CET6,上学年综合测评成绩, 发表文章篇数,调用abc()方法输出所有信息和调用youxiu()方法判断是否优秀

package test8;

public class Student01 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		StudentG s1 =new StudentG("本科张三","21924011",true,96);
		StudentG s2 =new StudentG("本科李四","21924012",false,63);
		s1.youxiu();s2.youxiu();       //调用方法

		StudentM t1 = new StudentM("硕士小华","21924014",true,5);
		StudentM t2 = new StudentM("硕士小讯","21924013",false,0);
		t1.youxiu();t2.youxiu();
		
		s1.abc();s2.abc();
		t1.abc();t2.abc();


	}

}

interface Stu{ //定义接口名
	
	void abc();
	void youxiu();
	
}
class StudentG implements Stu{ //接口的实现
	String name;
	String id;
	boolean Cet4;
	int score;
	public StudentG(String n,String Id,boolean CET4,int s){  //构造函数,形参列表,通过实参传递参数赋值
		Cet4=CET4;
		score=s;
		name=n;
		id=Id;
	}

	public void abc(){               //被调用方法,输出所有信息
		System.out.println("姓名:"+name+" "+"学号:"+id+" "+
				          "是否过CET4:"+Cet4+" "+"上学年综合测评成绩:"+score
	                       );
	}
	public void youxiu(){            //判断是否优秀
		if(Cet4&&score>85)
			System.out.println("姓名:"+name+"\t"+"优秀");
		else
			System.out.println("姓名:"+name+"\t"+"不优秀");
		
	}
	
	
}
class StudentM implements Stu{
	String name;
	String id;
	boolean Cet6;
	int wenzhang;
	
	public StudentM(String n,String ID,boolean CET6,int wz) {
		Cet6=CET6;
		wenzhang=wz;
		name=n;
		id=ID;
	}
	
	public void abc() {
		System.out.println("姓名:"+name+" "+"学号:"+id+" "+
		          "是否过CET6:"+Cet6+" "+"已发表文章篇数:"+wenzhang
                 );
	}
	public void youxiu(){
		if(Cet6&&wenzhang>1)
			System.out.println("姓名:"+name+"\t"+"优秀");
		else
			System.out.println("姓名:"+name+"\t"+"不优秀");
		
	}
}



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

  • 18
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值