不可变final,包装基础类型 定义arraylist不能使用基础类型,因此应当使用wrapper如 `ArrayList<Integer> list = new ArrayList<>();' 这种情形下调用add的时候,会把基本类型参数自动装箱为wrapper;查询操作时则会自动拆箱 wrapper类还包含了很多有用的静态方法
关于可变参数方法
printf(String format, Object... args) 可以传一个Object[]给最后一个参数
public ClassName implements InterfaceName {
//实现接口的所有方法,并声明为public
public ReturnValue interfaceMethod(Args){
//...
}
}
//不能new接口实例,但可以创建接口变量,然后引用实现了接口的类对象
InterfaceName x = new ClassName(...);
//接口可以继承接口
public interface B extends A {...}
//接口不能包含实例域,但可以包含常量,并缺省public static final;高版本支持定义简单的静态方法,不过更加建议定义一个接口专用的伴随类
//可以在接口里写一个方法的默认实现default,这样继承者就不需要把所有方法实现一遍:
public interface IntName{
default int methodName(Args){...}
}//这种方法还可以解决类定义跟不上接口更新的情景
//一个类可以继承复数个接口
class ClassName implements A,B,C {...}
//两个接口的默认方法冲突的情况下,规定必须重写;但如果超类中已有实现,超类的版本会覆盖接口的版本