zoukankan      html  css  js  c++  java
  • 对象的类型转换

    java语言允许某个类型的引用变量引用子类的实例,而且可以对这个引用变量进行类型转换。把引用类型转换为子类类型,则称为向下转换;如果把引用类型转换为父类类型,则称为向上转型。

    Animal animal=new Dog();

    Dog dog=(Dog)animal;//向下转型,把Animal类型的转换为Dog类型,必须进行强制类型转换

    Creature creature=animal;//向上转型,把Animal类型的转换为Creature类型,不需要强制类型转换

    通过引用类型变量来访问所引用对象的属性和方法时,java虚拟机将采用以下绑定规则:

    1、实例方法是与引用变量实际引用的对象的方法进行绑定的,属于动态绑定,因为实在运行时由JAVa虚拟机动态决定的。例如:animal.eat()将eat()方法与Dog类绑定。

    2、静态方法与引用变量所声明的类型的方法绑定,属于静态绑定。因为实在编译阶段就已经做了决定。animal.staticEat()将staticEat()与Animal类绑定

    3、成员变量(静态变量和实例变量)与引用变量所声明的类型的成员变量绑定,属于静态绑定,同上,animal.name与animal.staticName都与Animal类绑定。

  • 相关阅读:
    POJ3613 Cow Relays 经过n条边的最短路
    UML笔记(六)
    UML主要内容及参考资料
    UML笔记(五)
    UML笔记(一)
    UML笔记(三)
    UML笔记(四)
    软件工程——第十一章 软件项目管理
    软件工程——第十章 软件工程管理
    UML笔记(二)
  • 原文地址:https://www.cnblogs.com/tjlgdx/p/6141615.html
Copyright © 2011-2022 走看看