接口定义:
默认方法:
默认方法的作用:
如果在你的接口已经投入使用了,这个时候你想要在接口里面加一个方法,这个时候如果你加一个抽象方法的话,所有实现类都要改变源代码(因为实现类要把接口中的所有抽象方法都写一遍,不写就会出错)。但是如果你使用的默认方法,就相当于这个方法已经在接口中定义好了,然后你可以在其他实现类中直接继承下来(当然也可以覆盖重写),这样实现类就可以在不改变源代码的基础上面使用这个方法。
静态方法:
私有方法:
接口中常量(常量一旦赋值不能改变,变量则不一样):
总结:
继承父类并实现接口:
多态性定义:
成员变量的访问:
方法属于谁看的是new关键字后面的类
多态和之前继承的调用规则一模一样,实例:
1 public class fu { 2 int num=10; 3 public void show(){ 4 System.out.println("父类方法"); 5 } 6 } 7 public class zi extends fu{ 8 int num=20; 9 public void show(){ 10 System.out.println("子类方法"); 11 } 12 } 13 import static java.lang.Long.sum; 14 15 public class Main { 16 17 public static void main(String[] args) { 18 zi one = new zi(); //20 父类方法 这里时最后面两行代码的结果 19 fu one = new zi(); //10 子类方法 20 System.out.println(one.num); 21 one.show(); 22 } 23 24 } 25
成员方法的访问(和之前有不同):
上面的obj.methodZi这个代码会报错,因为编译的时候看的是左(Fu obj),这个时候Fu中没有methodZi这个方法,所以都执行不到“运行看右(new Zi)这个代码”
多态性的好处(感觉不出来好在哪里T_T):
向上/下转型:
向上转型缺点:转型过后可能子类的某些特有方法无法使用
instanceof的使用: