java 8-8 接口的练习

Posted 卡拉瓦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 8-8 接口的练习相关的知识,希望对你有一定的参考价值。

  1 /*
  2   老师和学生案例,加入抽烟的额外功能
  3     分析:
  4     老师和学生都具有共同的变量:名字,年龄
  5                     共同的方法:吃饭,睡觉
  6     老师有额外的功能:抽烟(设定个接口),部分抽烟
  7     
  8     有共同的变量和方法,设一个父类:person类 抽象类
  9     person类:
 10                名字,年龄
 11                吃饭(); 抽象方法,可重写
 12                睡觉(){};成员方法
 13     子类:
 14     teacher类和teacher类可继承父类。
 15     但,部分老师和学生抽烟,则与抽烟接口进行扩展
 16  */
 17 
 18 //设定抽烟接口
 19 //接口的变量是:静态常量最终量;接口没有构造方法,接口的成员方法是:抽象方法
 20 interface Smoking{
 21     //  静态 常量 最终量:public static final int a = 2; 有变量就这样写,这里不需要常量
 22     public abstract void smoking();//抽象方法没有方法体
 23 }
 24 
 25 //设定父类:抽象类
 26 abstract class perSon4{
 27 
 28     //成员变量
 29     private String name;
 30     private int age;
 31     
 32     //构造方法
 33     public perSon4(){}
 34     public perSon4(String name, int age){
 35         this.name = name;
 36         this.age = age;
 37     }
 38     //getXxx、setXxx。
 39     public String getName(){
 40         return name;
 41     }
 42     public void setName(String name){
 43         this.name = name;
 44     }
 45     public int getAge(){
 46         return age;
 47     }
 48     public void setAge(int age){
 49         this.age = age;
 50     }
 51     
 52     //抽象方法 吃饭
 53     public abstract void eat();
 54     //成员方法
 55     public void sleep(){
 56         System.out.println("Zzz...");
 57     }
 58 }
 59 
 60 //子类  老师类 继承父类
 61 class teacher5 extends perSon4{
 62     //无参构造方法
 63     public teacher5(){}
 64     //有参构造方法
 65     public teacher5(String name,int age){
 66         super(name,age);
 67     }
 68     public void eat() {
 69         System.out.println("下班回去睡觉");
 70     }
 71 }
 72 
 73 //子类 学生类 继承父类
 74 class student5 extends perSon4{
 75     //构造方法
 76     public student5(){}
 77     public student5(String name,int age){
 78         super(name,age);
 79     }
 80     public void eat(){
 81         System.out.println("下课回家睡觉");
 82     }
 83 }
 84 
 85 //部分老师抽烟,扩展抽烟接口
 86 
 87 class SmokTeacher5 extends teacher5 implements Smoking{ 
 88     //继承了老师类,则把老师类的所有变量方法弄出来:
 89     public SmokTeacher5(){}
 90     public SmokTeacher5(String name,int age){
 91         super(name,age);
 92     }
 93     public void smoking() {
 94         System.out.println("抽烟的老师");    
 95     }
 96 }
 97 
 98 //部分学生抽烟
 99 
100 class SmokStudent5 extends student5 implements Smoking{
101     //继承了学生类,则把学生类的所有变量方法写出来:
102     public SmokStudent5(){}
103     public SmokStudent5(String name,int age){
104         super(name,age);
105     }
106     public void smoking() {
107         System.out.println("抽烟的学生");
108     } 
109 }
110 
111 //测试类
112 
113 class InterfaceTest1 {
114     public static void main(String[] args){
115         
116         //测试学生类  直接调用继承了类和扩张了方法的类
117         SmokStudent5 s = new SmokStudent5("张三",20);
118         s.smoking();
119         s.eat();
120         s.sleep();
121         
122         System.out.println("---------");
123         
124         //测试老师类
125         SmokTeacher5 t = new SmokTeacher5("李四",33);
126         t.smoking();
127         t.eat();
128         t.sleep();
129     }
130 } 

 

以上是关于java 8-8 接口的练习的主要内容,如果未能解决你的问题,请参考以下文章

练习8-8 移动字母 (10 分)

练习8-8 移动字母(10 分)[C语言] 反醒自己

java 代码片段

Java继承_接口练习题

(8/8)RPC接口能用枚举就请考虑枚举

《Python编程快速上手》第8.9.2实践练习