Beginning JO(interface/static/final)

Beginning JO(interface/static/final)

接口的方法默认为public,不能定义为private。
If a class implements two or more interfaces that call for methods with identical signatures,we need only implement one such method in the implementing class—that method will do “double duty” in satisfying both interfaces’ implementation requirements as far as the compiler is concerned.
定义 属性,方法参数,返回类型的时候尽可能使用接口,客户端代码调用这样的类会更加灵活。
List和Set都是Collection接口的子类,使用Collection可以更通用。
    如果一定要自己创建集合类而且不通过扩展存在的ArrayList等的话,至少实现Collection接口,这样才能在使用Collection的环境使用。
    静态方法不能为abstract,不能调用非静态的属性或方法。我们经常利用静态方法,属性实现一些“工具类”,比如java.lang中的Math.
    接口不允许定义变量,除了定义public static final 变量来作为全局常量。但是final类型的变量必须显示初始化,且初始化的方法必须是在申明时或者在构造方法中直接赋值,而不能通过调用函数赋值。
    j2se 5引入 :import static Administrator.*; 这样在代码中可以直接使用Administrator类的静态变量。
查询了下关于是否用final限定方法参数以及局部变量的问题,有争议( http://stackoverflow.com/questions/316352?sort=votes#sort-top),类似习惯问题,不过对传入的参数重新赋值不是好习惯!否则在方法中使用该参数的时候你会考虑前面的代码是否对参数处理过,还有可能失误的进行了赋值。倾向于方法参数使用final,局部变量不使用。折中的办法是设置eclipse的重赋值警告。

你可能感兴趣的:(Beginning JO(interface/static/final))