标签:方法 注意 override 优先 解决 div final ide objc
接口不是类,而是对类实现的一组描述,这些类需要实现接口所描述的形式
以Comparable接口为例:
public interface Comparable { int compareTo(Object other); }
在实现类中,必须有:
int compareTo(Employee other)
注意:接口中的所有方法自动属于public.因此,在声明关键字时可以省略public.
该接口有个未说明的附加要求:在调用x.compareTo(y)中,该方法必须确实标胶两个对象的内容,并返回结果.当x>y返回正数;x=y返回0;x<y返回负数.
现在实现一个对Employee类对于雇员薪水的比较:
class Employee implements Comparable<Employee> { public int compareTo(Employee other) { return Double.compare(salary, other.salary); } . . . }
在接口中不能存在实例域或静态方法(静态方法在JDK8后允许使用了),但是可以存在常量
(与接口中的方法被自动设置为public一样,接口中的域将被自动设置为public static final)
规范:虽然public/static/final可以使方法或域指代明确,但是出于规范,建议不要写这些关键字,这样可以更加清晰
如果在一个接口中定义了一个方法定义为默认方法,然后又在另一个父类或接口中定义了同样的方法,该如何解决呢?
注意:千万不要把一个Objcet的方法重新定义为默认
标签:方法 注意 override 优先 解决 div final ide objc
原文地址:http://www.cnblogs.com/nothingAJ/p/6665248.html