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 }

    效果图:

  • 相关阅读:
    Spring 实践 -IoC
    HDU1584:蜘蛛牌(DFS)
    Linux命令缩写来由
    一道面试题:用shell写一个从1加到100的程序
    常用的OpenCV函数速查
    等差数列/等比数列通项公式与求和公式
    ubuntu给手机建wifi
    [转]C++之运算符重载(2)
    [转]C++之运算符重载(1)
    [转]C++之多态性与虚函数
  • 原文地址:https://www.cnblogs.com/gilgamesh-hjb/p/12232002.html
Copyright © 2011-2022 走看看