java学习

在判断一个实例引用的类型时,使用的是实际类型,而不是声明的类型。在下面的代码中,

Vehicle v2 = new Car();    // v2 是 Car 类型

v2 是 Car 类型,而不是 Vehicle 类型。

class Vehicle {}


public class Car extends Vehicle {

    public static void main(String args[]){

        Car c1 = new Car();


        Vehicle v2 = new Car();    // v2 是 Car 类型

        Vehicle v3 = new Vehicle();


        //Car 是 Vehicle类型, Vehicle 不是 Car 类型

        boolean result1 =  c1 instanceof Vehicle;    // true

        boolean result2 =  v2 instanceof Car;        // true

        boolean result3 =  v2 instanceof Vehicle;    // true

        boolean result4 =  v3 instanceof Car;          // false


        System.out.println(result1);

        System.out.println(result2);

        System.out.println(result3);

        System.out.println(result4);

  }

}

stinkaroo

  stinkaroo

  190***276@qq.com

1年前 (2017-05-09)

  妇芳单身骗

  lhm***@126.com

子类是父类的类型,但父类不是子类的类型。

子类的实例可以声明为父类型,但父类的实例不能声明为子类型。

class Vehicle {}


public class Car extends Vehicle {

    public static void main(String args

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容