• Interface的精髓——《Thinking in Java》随笔025


     1 //: InterfacePower.java
     2 package cn.skyfffire;
     3 
     4 import java.util.Vector;
     5 
     6 /**
     7  * 深究抽象类的应用
     8  *
     9  * user: skyfffire
    10  * time: 下午3:20:35
    11  */
    12 public class InterfacePower {
    13     /**
    14      * 为对象定义相同的接口
    15      * 
    16      * @author skyfffire
    17      *
    18      */
    19     interface Student {
    20         public String writeHomework();
    21     }
    22     
    23     /**
    24      * 抽象类的测试
    25      * 
    26      * @param args
    27      */
    28     public static void main(String[] args) {
    29         // 定义一个班级属性用来封装该班级的学生
    30         Vector<Student> classes = new Vector<Student>();
    31         
    32         // 定义三个学生,给予不同的写作业速度
    33         Student xiaoMing = new Student() {
    34             @Override
    35             public String writeHomework() {
    36                 return "The xiaoMing is very slow to write homework.";
    37             }
    38         };
    39         
    40         Student xiaoHong = new Student() {
    41             @Override
    42             public String writeHomework() {
    43                 return "The xiaoHong is very quick to write homework.";
    44             }
    45         };
    46         
    47         Student xiaoGang = new Student() {
    48             @Override
    49             public String writeHomework() {
    50                 return "The xiaoGang is normal to write homework.";
    51             }
    52         };
    53         
    54         // 将三个同学添加到这个班级
    55         classes.add(xiaoMing);
    56         classes.add(xiaoHong);
    57         classes.add(xiaoGang);
    58         
    59         // 遍历这个班级的所有人,就算各自的习惯(方法实现)不同
    60         // 但是都实现了同一个接口的同一个方法,所以可以拥有同样的行为。
    61         for (Student s : classes) {
    62             System.out.println(s.writeHomework());
    63         }
    64     }
    65 }
    66 
    67 ///:~
  • 相关阅读:
    网络流最近的一点总结
    POJ 2195 Going Home 费用流 最小费用流
    [置顶]opencv图像处理3opencv下使用滑动条
    VC6.0图形处理9轮廓提取
    VC6.0图形处理8Hough变换(下)
    VC6.0图形处理10腐蚀膨胀
    opencv图像处理6网球检测
    opencv图像处理1IPlImage结构分析
    VC6.0图形处理8Hough变换(上)
    opencv图像处理5车辆检测
  • 原文地址:https://www.cnblogs.com/skyfffire/p/6559763.html
Copyright © 2020-2023  润新知