代码块:一块代码,用括号括起来
代码块在构造对象的时候运行,在构造方法前执行,写在方法里面的临时代码块跟信后顺序有关
静态代码块:静态代码块会在类加载的时候执行,所以静态代码块只执行一次,普通代码块是在构造对象的时候执行,每份对象都有一份
接口(interface):专门用抽象方法来定义规范
接口中的属性: 会隐形的加上 public static final ,可以加但是不能和这个冲突,而且这个属性必须初始化
接口中的方法 : 1.必须全都是抽象的方法,默认会上public abstract
2.如果要是实现一个接口,必须实现这个接口的所有的抽象方法,除非这个类也是一个抽象类
3.接口不能直接实例化,也就是说不能跟new关键字一起使用
4.java里面的类不能多继承,但是几口可以多继承
5.在1.8之后,还可以在抽象类中定义静态的非抽象方法
接口可以当做标志:比如 A B 都继承了C,但是D没有继承C
我们就可以用 A instanceof C,来将ABD 分开
把对象按着一定的顺序排序的要求:这个类型一定要有可比性
//定义Person数组并赋给初始值
Person [] ps=new Person[5]; ps[0]=new Person("李四",42); ps[1]=new Person("张三",22); ps[2]=new Person("王老五",32); ps[3]=new Person("张宇星",52); ps[4]=new Person("李华宇",62);
//调用Arrays.sort的排序方法 Arrays.sort(ps); for(Person a:ps){ System.out.println(a); }
//按姓氏分,重写compareTo方法 @Override public int compareTo(Person o) { return -this.getName().compareTo(o.getName()); }
原文:https://www.cnblogs.com/Starlets/p/11699642.html