zoukankan      html  css  js  c++  java
  • Java学习-匿名类

    1.筛选出符合条件的Hero:要求hp>100 && damage<50

    匿名类实现:

    先定义接口HeroChecker,其中的test()方法实现了Hero的筛选

    1 package generic;
    2 
    3 import charactor.Hero;
    4 
    5 public interface HeroChecker {
    6     public boolean test(Hero h);
    7 }
     1 package generic;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 import java.util.Random;
     6 import charactor.Hero;
     7 
     8 public class test {
     9 
    10     public static void main(String[] args) {
    11         Random r = new Random();
    12         List<Hero> heros = new ArrayList<Hero>();
    13         for (int i = 0; i < 10; i++) {
    14             heros.add(new Hero("hero " + i, r.nextInt(1000), r.nextInt(100)));
    15         }
    16         System.out.println("初始化后的集合:");
    17         System.out.println(heros);
    18         System.out.println("筛选出 hp>100 && damange<50的英雄");
    19 
    20         // 借助接口HeroChecker实现匿名类,匿名类中有test()方法,正是要求的筛选方法
    21         HeroChecker hc = new HeroChecker() {
    22             @Override
    23             public boolean test(Hero h) {
    24                 // TODO Auto-generated method stub
    25                 if (h.hp > 100 && h.damage < 50)
    26                     return true;
    27                 else
    28                     return false;
    29             }
    30         };
    31         filter(heros, hc);
    32     }
    33 
    34     // 通过匿名类HeroChecker的test()方法,测试HeroList的每一个Hero,输出符合要求的Hero
    35     private static void filter(List<Hero> heros, HeroChecker hc) {
    36         for (Hero hero : heros) {
    37             if (hc.test(hero) == true)
    38                 System.out.print(hero);
    39         }
    40     }
    41 
    42 }

    效果图:

  • 相关阅读:
    C#画K线图代码
    SQL查询效率:100w数据查询只需要1秒钟
    全程图解 手把手教你做RAID磁盘阵列
    炒股高手实战技巧
    数据库主键设计之思考
    如何做磁盘阵列和磁盘镜象
    股海心法—浓缩股市精华
    如何做磁盘阵列
    SQL Server 2005实现负载均衡的详细介绍!
    K线六种形态
  • 原文地址:https://www.cnblogs.com/gilgamesh-hjb/p/12232002.html
Copyright © 2011-2022 走看看