Java接口

描述

运用 Java 接口,在接口中声明 方法,对象实现接口中 抽象方法

题目

我们计划为一所 IT 学院设计一套系统,请设计 及接口 。

员工类:

​ 属性:姓名、性别、年龄

​ 行为:工作(抽象)、展示信息

Java 讲师类:

​ 属性:姓名、性别、年龄

​ 行为:展示信息、Java 授课

UI 讲师类:

​ 属性:姓名、性别、年龄

​ 行为:展示信息、UI 授课、绘画

绘画接口:

​ 抽象方法:绘画

题目解决思路

  1. 分析题目可以看出两者共性属性为姓名、性别、年龄。
  2. UI 讲师具有绘画功能,使用接口声明绘画方法。
  3. 两者都具有工作方法 ,但方法内容有所不同。

代码具体实现

抽象类代码:

public abstract class Staff { // 属性 private String name; private String sex; private int age; // 工作方法 public abstract void work(); // 无参构造 public Staff() { } // 有参构造 public Staff(String name, String sex, int age) { this.name = name; this.sex = sex; this.age = age; } 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; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } // 定义显示信息方法 public void showInfo(){ System.out.println("员工信息:"); System.out.println("姓名:" + name + " 性别:" + sex + " 年龄:" + age); } }

Java 讲师代码:

public class JavaTeacher extends Staff{ // 无参构造 public JavaTeacher() { } // 全参构造 public JavaTeacher(String name, String sex, int age) { super(name, sex, age); } // 工作方法 @Override public void work() { System.out.println("java 讲师正在授课\n"); } }

UI 讲师代码:

public class UITeacher extends Staff implements Draw{ // 无参构造 public UITeacher() { } // 全参构造 public UITeacher(String name, String sex, int age) { super(name, sex, age); } // 重写工作方法 @Override public void work() { System.out.println("UI 讲师正在授课"); } // 实现绘画方法 @Override public void draw() { System.out.println("UI 讲师正在绘画\n"); } }

测试类代码:

public class TestDmeo { public static void main(String[] args) { System.out.println("嗨客网(www.haicoder.net)\n"); // Java 讲师 JavaTeacher jt = new JavaTeacher("王老师","男",28); jt.showInfo(); jt.work(); // UI 讲师 UITeacher ut = new UITeacher("张三","男",20); ut.showInfo(); ut.work(); ut.draw(); } }

运行结果如下图:

01_java接口.png

以上案例运用 Java 抽象类抽取共性内容,创建绘画接口,子类继承 抽象类并实现接口的绘画方法。