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

举报
程序员飞鸟 发表于 2022/05/10 19:00:55 2022/05/10
【摘要】 博主简介:博客主页:Java知识分享博主Java零基础入门专栏:Java零基础入门专栏Java交流社区:飞鸟社区欢迎阅读,如果文章对你有帮助点赞,支持一下!@[toc]==推荐阅读==Java零基础入门:概论(一)Java零基础入门:实战教程(二) 问题描述:一、定义接口Shape,包含如下方法:double getArea()方法和double getPerimeter()方法定义矩形类,...

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

@[toc]
==推荐阅读==
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"+"不优秀");
		
	}
}



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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。