import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* Created by seal on 2017/9/19.
* 继承:并不是单单为了不劳而获,本质是为了多态
* 实现:更好的多态,解决多继承的尴尬
* 单继承,确保每个类只用一个父类,好处在对象的实例化过程变得简单
* 对象的实例化过程:从祖先到自己的每一个构造方法都会执行的过程
* 多态是也不复杂,父类要被重写的方法只有一个
* A
* B extend A
* C extend B
* new C()--Object---A---B---C
*
*/
public class Jicheng {
static class Person implements Comparable<Person>{
private String name;
private int age;
public Person(String name, int age) {
this.name
= name;
this.age = age;
}
public String getName() {
return name;
}
@Override
public String toString() {
return String.format("我是%s,今年%d岁",name,age);
}
public void setName(String name) {
this.name
= name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Person o) {
return this.name
.compareTo(o.name
)*1000+o.age-this.age;
}
}
public static void main(String[] args) {
List<Person> ps=new ArrayList<>();
ps.add(new Person("zhangsan",19));
ps.add(new Person("lisi",17));
ps.add(new Person("zhangsan",21));
ps.add(new Person("wangwu",23));
System.out.println("没有排序");
for (Person p :
ps) {
System.out.println(p);
}
System.out.println("排序后");
Collections.sort(ps);
for (Person p :
ps) {
System.out.println(p);
}
}
}
import java.util.Collections;
import java.util.List;
/**
* Created by seal on 2017/9/19.
* 继承:并不是单单为了不劳而获,本质是为了多态
* 实现:更好的多态,解决多继承的尴尬
* 单继承,确保每个类只用一个父类,好处在对象的实例化过程变得简单
* 对象的实例化过程:从祖先到自己的每一个构造方法都会执行的过程
* 多态是也不复杂,父类要被重写的方法只有一个
* A
* B extend A
* C extend B
* new C()--Object---A---B---C
*
*/
public class Jicheng {
static class Person implements Comparable<Person>{
private String name;
private int age;
public Person(String name, int age) {
this.name
= name;
this.age = age;
}
public String getName() {
return name;
}
@Override
public String toString() {
return String.format("我是%s,今年%d岁",name,age);
}
public void setName(String name) {
this.name
= name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public int compareTo(Person o) {
return this.name
.compareTo(o.name
)*1000+o.age-this.age;
}
}
public static void main(String[] args) {
List<Person> ps=new ArrayList<>();
ps.add(new Person("zhangsan",19));
ps.add(new Person("lisi",17));
ps.add(new Person("zhangsan",21));
ps.add(new Person("wangwu",23));
System.out.println("没有排序");
for (Person p :
ps) {
System.out.println(p);
}
System.out.println("排序后");
Collections.sort(ps);
for (Person p :
ps) {
System.out.println(p);
}
}
}