Java--接口

文章目录

  • 主要内容
  • 一.teacher&student
      • 1.源代码
          • 代码如下(示例):
      • 2.结果
  • 二.shape
      • 1.源代码
          • 代码如下(示例):
      • 2.结果
  • 三.生物、动物、人
      • 1.源代码
          • 代码如下(示例):
    • 2.结果
  • 总结

主要内容

一.teacher&student

学校中有老师和学生两类人,而在职研究生即是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
1)设计两个信息管理接口StudentMageInterface和TeacherMageInterface。
其中StudentMageInterface接口包括setFee()方法和 getFee方法,分别用于设置和获取学生的学费; TeacherMageInterface接口包括setPay方法和 getPay方法,分别用于设置和获取教师的工资
2)定义一个研究生类 Graduate,实现StudentInterface接口和TeacherMageInterface接口,它定义的成员变量有name,sex,age,fee,pay。
3)创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费不足2000元,则输入“provide a loan”的信息。

1.源代码

代码如下(示例):
public interface StudentInterface {
 // 设置学生的学费
 public abstract void setFee(double fee);
 // 获取学生的学费
 public abstract void getFee(double fee);
}
public interface TeacherInterface {
 // 设置教师的工资
 public abstract void setPay(double pay);
 // 获取教师的工资
 public abstract void getPay(double pay);
}
package test;
import java.util.Scanner;
public class Graduate implements StudentInterface,TeacherInterface{
 // 成员变量
 String name;
 String sex;
 int age;
 double fee;
 double pay;
 // 实现接口中的抽象方法
 @Override
 public void setPay(double pay) {
 this.pay = pay * 12;
 System.out.println("你的年收入为:" + this.pay);
 }
 // 实现接口中的抽象方法
 @Override
 public void getPay(double pay) {
 this.pay = pay * 12;
 System.out.println("你的年收入为:" + this.pay);
 }
 // 实现接口中的抽象方法
 @Override
 public void setFee(double fee) {
 this.fee = fee;
 System.out.println("你的学费设置为:" + this.fee);
 }
 // 实现接口中的抽象方法
 @Override
 public void getFee(double fee) {
 this.fee = fee;
 System.out.println("你的学费为:" + this.fee);
 }
 /**
 * 是否要贷款
 * @return
 */
 public boolean Loan(){
 if ((this.pay - this.fee) < 2000) {
 System.out.println("你的年收入" + this.pay + ",减去学费" + 
this.fee + "等于" + (this.pay - this.fee));
 return true;
 }
 System.out.println("你的年收入" + this.pay + ",减去学费" + 
this.fee + "等于" + (this.pay - this.fee));
 return false;
 }
 public static void main(String[] args) {
 // 创建一个研究生对象
 Graduate graduate = new Graduate();
 // 研究生对象的初始化
 graduate.name = "zhangsan";
 System.out.println("你好:" + graduate.name);
 // 设置月工资
 Scanner scanner = new Scanner(System.in);
 System.out.println("请输入你的月工资:");
 double pay = scanner.nextDouble();
 graduate.setPay(pay);
 // 设置学费
 System.out.println("请输入你的学费:");
 double fee = scanner.nextDouble();
 graduate.setFee(fee);
 // 判断是否需要贷款
 boolean flag = graduate.Loan();
 if (flag) {
 System.out.println("provide a loan(需要贷款)");
 }else {
 System.out.println("自给自足,丰衣足食");
 }
 }
}

2.结果

Java--接口_第1张图片

二.shape

1.定义 shape接口,包含求面积和求周长的方法;
2. 定义 Circle类、Rectangle类、Square类;
3. 要求Circle类和 Rectangle类实现 shape接口,Square类继承 Rectangle 类;

1.源代码

代码如下(示例):
package test;
abstract class Shape {
 abstract double getArea();
}
class Rectangle extends Shape{
 double Hight;
 double Wide;
 public Rectangle(double hight, double wide) {
 Hight = hight;
 Wide = wide;
 }
 @Override
 double getArea() {
 return Hight*Wide/2;
 }
}
class Circle extends Shape{
 int Radius;
 public Circle(int radius) {
 Radius = radius;
 }
 @Override
 double getArea() {
 return Radius*Radius* Math.PI;
 }
}
public class ShapeTest {
 public static void main(String[] args) {
 Rectangle rectangle=new Rectangle(6,6);
 Circle circle=new Circle(5);
 System.out.println("矩形面积="+rectangle.getArea());
 System.out.println("圆形面积="+circle.getArea());
 }
}

2.结果

Java--接口_第2张图片

三.生物、动物、人

定义生物,动物,人三个接口
生物:会呼吸的抽象方法
动物:雌雄,吃
人:思考,学习
一个类,实现三个接口的抽象方法

1.源代码

代码如下(示例):
package test;
public abstract class Biology {
 public abstract void eat();
 public abstract void sex();
 public abstract void think();
 public abstract void learn();
}
class Animal extends Biology{
 public Animal() {
 }
 @Override
 public void eat() {
 System.out.println("动物吃食物");
 }
 @Override
 public void sex() {
 System.out.println("动物有雌有雄");
 }
 @Override
 public void think() {
 System.out.println("动物可以想");
 }
 @Override
 public void learn() {
 System.out.println("动物可以学习");
 }
}
class Bird extends Biology{
 public Bird() {
 }
 @Override
 public void eat() {
 System.out.println("鸟能吃");
 }
 @Override
 public void sex() {
 System.out.println("鸟也有雌雄");
 }
 @Override
 public void think() {
 System.out.println("鸟可以思考迁徙");
 }
 @Override
 public void learn() {
 System.out.println("鸟能渣渣叫");
 }
}
class Human extends Biology{
 public Human() {
 }
 @Override
 public void eat() {
 System.out.println("人是杂食动物");
 }
 @Override
 public void sex() {
 System.out.println("人有男有女");
 }
 @Override
 public void think() {
 System.out.println("人的可以思考,大脑十分活跃");
 }
 @Override
 public void learn() {
 System.out.println("人类会学习很多知识");
 }
}
class All{
 public static void main(String[] args) {
 Human human=new Human();
 human.eat();
 human.sex();
 human.learn();
 human.think();
 Animal animal=new Animal();
 animal.eat();
 animal.sex();
 animal.learn();
 animal.think();
 Bird bird=new Bird();
 bird.eat();
 bird.think();
 bird.sex();
 bird.learn();
 }
}

2.结果

Java--接口_第3张图片


总结

以上是今天要讲的内容,学到了接口。

你可能感兴趣的:(算法与数据结构,java,eclipse,intellij-idea,算法,数据结构)