黑马程序员技术交流社区

标题: new的接口是传递到那里了? [打印本页]

作者: 郝聚德    时间: 2015-4-21 00:19
标题: new的接口是传递到那里了?
public class TreeSetTest {
        public static void main(String[] args) {
                //1: 自然排序接口  Comparable, 实现 compareTo(o1) 方法
                //创建集合对象
                //TreeSet<Person> ts = new TreeSet<Person>();
               
                //2: 比较器接口    Comparator, 实现 compare(o1, o2)方法
                public class TreeSetTest {
        public static void main(String[] args) {
                //1: 自然排序接口  Comparable, 实现 compareTo(o1) 方法
                //创建集合对象
                //TreeSet<Person> ts = new TreeSet<Person>();
               
                //2: 比较器接口    Comparator, 实现 compare(o1, o2)方法
                TreeSet<Person> ts = new TreeSet<Person>(new Comparator<Person>() {

                        @Override
                        public int compare(Person p1, Person p2) {
                                System.out.println("12345");
                               
                               
                                //年龄
                                int num = p1.getAge() - p2.getAge();
                                //名字
                                int result = (num == 0) ? (p1.getName().compareTo(p2.getName())) : num ;
                                return result;
                        }
                });
                               
                //添加元素到集合
                ts.add(new Person("z张三", 18));
                ts.add(new Person("w王五", 18));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
               
                //TreeMap
               
                //遍历
                for (Person p : ts) {
                        System.out.println(p.getName() + "--" + p.getAge());
                }
        }
                });
                               
                //添加元素到集合
                ts.add(new Person("z张三", 18));
                ts.add(new Person("w王五", 18));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
                ts.add(new Person("z赵六", 28));
               
                //TreeMap
               
                //遍历
                for (Person p : ts) {
                        System.out.println(p.getName() + "--" + p.getAge());
                }
        }
作者: ShadowDancer    时间: 2015-4-21 08:32
还能new接口???
作者: 突然世界晴    时间: 2015-4-21 08:47
实际是子类对象
作者: 王善辉    时间: 2015-4-21 22:28
比较器,你new的是子类对象,也就是多态
作者: itheima_llt    时间: 2015-4-21 23:05
帮你顶,人还是厚道点好




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2