Java的零基础入门:接口的实现(三)
【摘要】 博主简介:博客主页: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)