zoukankan      html  css  js  c++  java
  • 对象转型、多态

    1、对象转型(casting)

    1)一个基类的引用类型变量可以“指向”其子类的对象;

    2)一个基类的引用不可以访问其子类对象新增加的成员(属性和方法);

    3)可以使用引用变量instanceof类名来判断该引用型变量所“指向”的对象是否属于该类或该类的子类;

    4)子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之成为向下转型“downcasting”

     父类引用指向子类对象,只看到子类中包含父类的东西。

    2、动态绑定和多态

    执行期(非编译期)判断所引用对象的实际类型,根据实际类型调用其对应的方法。

    优点:可扩展性好,面向对象的核心。

    总结:多态机制,动态找,new的谁,调用谁的。

    3个必要条件:第一要有继承,第二要有重写,第三父类引用指向子类对象

    3、抽象类

    用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法时,该方法叫做抽象方法。

    含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。

    抽象类不能被实例化。

    抽象方法只需声明,而不需实现。(为了可以重写override)

    4、Final关键字

    5、接口

    extend只能单继承,为了实现多继承可以使用接口。

    接口(interface)是抽象方法和常量值的定义的集合。

    从本质上讲,接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义,而没有变量和方法的实现。

    不用写abstract,实际上都是abstract。

    实现多个接口,用逗号“,”隔开

    类和类之间可以相互继承extend,接口和接口之间也可以继承extend,接口和类之间implement实现

    接口和实现类之间存在多态性

    追加书本上没有的接口知识:

    再好好学习一下多态,有点忘记了:)

  • 相关阅读:
    第17章 委托
    第16章 数组
    第15章 枚举类型和位标志
    第14章 字符、字符串和文本处理
    第13章 接口
    第12章 泛型
    第10章 属性
    第11章 事件
    内部类(转载)
    Collections.sort的三种用法
  • 原文地址:https://www.cnblogs.com/yangyl-justdoit/p/6909461.html
Copyright © 2011-2022 走看看