zoukankan      html  css  js  c++  java
  • java——接口、多态性、对象转型

    接口定义:

     默认方法:

    默认方法的作用

    如果在你的接口已经投入使用了,这个时候你想要在接口里面加一个方法,这个时候如果你加一个抽象方法的话,所有实现类都要改变源代码(因为实现类要把接口中的所有抽象方法都写一遍,不写就会出错)。但是如果你使用的默认方法,就相当于这个方法已经在接口中定义好了,然后你可以在其他实现类中直接继承下来(当然也可以覆盖重写),这样实现类就可以在不改变源代码的基础上面使用这个方法。

    静态方法:

     

     私有方法:

     接口中常量(常量一旦赋值不能改变,变量则不一样):

     总结:

     继承父类并实现接口:

     

     多态性定义:

    成员变量的访问:

     方法属于谁看的是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的使用:

  • 相关阅读:
    HTML5新增的属性和废除的属性
    利用ajax的方式来提交数据到后台数据库及交互功能
    在BS表单上使用fastreport.net
    js获取电子秤串口数据
    XMPP基础
    xmpp简介
    扩展方法
    泛型委托、lambda表达式例子,备忘
    leetcode 127. Word Ladder ----- java
    leetcode 126. Word Ladder II ----- java
  • 原文地址:https://www.cnblogs.com/kongbursi-2292702937/p/11599530.html
Copyright © 2011-2022 走看看