最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java對象轉(zhuǎn)型實例分析

 更新時間:2014年10月05日 12:05:42   投稿:shichen2014  
這篇文章主要介紹了java對象轉(zhuǎn)型的概念及用法,并以實例形式進(jìn)行了較為詳細(xì)的介紹,需要的朋友可以參考下

本文實例講述了java對象轉(zhuǎn)型的概念,分享給大家供大家參考。具體方法如下:

對象轉(zhuǎn)型(casting)注意事項如下:

1、一個基類的引用類型變量可以“指向”其子類的對象。

2、一個基類的引用不可以訪問其子類對象新增加的成員(屬性和方法)。

3、可以使用 引用變量 instanceof 類名 來判斷該引用型變量所“指向”的對象是否屬于該類或該類的子類。

4、子類的對象可以當(dāng)做基類的對象來使用稱作向上轉(zhuǎn)型(upcasting),反之成為向下轉(zhuǎn)型(downcasting)。

具體實現(xiàn)代碼如下:

public class TestCasting{
  public static void main(String args[]){
    Animal animal = new Animal("name");
    Cat cat = new Cat("catName","blueColor");
    Dog dog = new Dog("dogName","yellowColor");
    
    System.out.println(animal instanceof Animal);
    System.out.println(cat instanceof Animal);
    System.out.println(dog instanceof Animal);
    //System.out.println(animal instanceof cat);  //error
    
    animal = new Dog("dogAnimal","dogColor");
    System.out.println(animal.name);
    //System.out.println(animal.forColor); //error
    System.out.println(animal instanceof Animal);
    System.out.println(animal instanceof Dog);
    Dog d1 = (Dog)animal;
    System.out.println(d1.forColor); 
  }
}
class Animal{
  public String name;
  public Animal(String name){   
    this.name = name;
  }
}
class Cat extends Animal{
  public String eyeColor;
  public Cat(String name, String eyeColor){
    super(name);
    this.eyeColor = eyeColor;
  }
}

class Dog extends Animal{
  public String forColor;
  public Dog(String name, String forColor){
    super(name);
    this.forColor = forColor;
  }
}

運行結(jié)果如下圖所示:

希望本文所述對大家的Java程序設(shè)計有所幫助

相關(guān)文章

  • 解析Idea為什么不推薦使用@Autowired進(jìn)行Field注入

    解析Idea為什么不推薦使用@Autowired進(jìn)行Field注入

    這篇文章主要介紹了Idea不推薦使用@Autowired進(jìn)行Field注入的原因,網(wǎng)上文章大部分都是介紹兩者的區(qū)別,沒有提到為什么,當(dāng)時想了好久想出了可能的原因,今天來總結(jié)一下
    2022-05-05
  • Java如何從json字符串中獲取某個值詳解

    Java如何從json字符串中獲取某個值詳解

    Java開發(fā)當(dāng)中經(jīng)常需要Json格式的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java如何從json字符串中獲取某個值的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • 基于Spring Web Jackson對RequestBody反序列化失敗的解決

    基于Spring Web Jackson對RequestBody反序列化失敗的解決

    這篇文章主要介紹了基于Spring Web Jackson對RequestBody反序列化失敗的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Spring中的@EnableScheduling定時任務(wù)注解

    Spring中的@EnableScheduling定時任務(wù)注解

    這篇文章主要介紹了Spring中的@EnableScheduling注解,@EnableScheduling是 Spring Framework 提供的一個注解,用于啟用 Spring 的定時任務(wù)功能,通過使用這個注解,可以在 Spring 應(yīng)用程序中創(chuàng)建定時任務(wù),需要的朋友可以參考下
    2024-01-01
  • Java對時間的簡單操作實例

    Java對時間的簡單操作實例

    這篇文章主要介紹了Java對時間的簡單操作,實例分析了針對java.util.Date的各類常見操作,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • SpringBoot使用Sa-Token實現(xiàn)賬號封禁、分類封禁、階梯封禁的示例代碼

    SpringBoot使用Sa-Token實現(xiàn)賬號封禁、分類封禁、階梯封禁的示例代碼

    本文主要介紹了SpringBoot使用Sa-Token實現(xiàn)賬號封禁、分類封禁、階梯封禁的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • MyBatis-Plus動態(tài)表名的使用

    MyBatis-Plus動態(tài)表名的使用

    本文主要介紹了MyBatis-Plus動態(tài)表名的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Mybatis-Plus將字段設(shè)置為null解決方法

    Mybatis-Plus將字段設(shè)置為null解決方法

    MyBatis-Plus是一個MyBatis的增強工具,在MyBatis的基礎(chǔ)上只做增 強不做改變,為簡化開發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關(guān)于Mybatis-Plus將字段設(shè)置為null的解決方法的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • Java?NIO?Buffer實現(xiàn)原理詳解

    Java?NIO?Buffer實現(xiàn)原理詳解

    本篇文章主要對NIO核心三件套:緩沖區(qū)(Buffer)、選擇器?(Selector)和通道(Channel),其中之一的緩沖區(qū)Buffer實現(xiàn)原理的學(xué)習(xí)總結(jié)。感興趣的小伙伴可以了解一下
    2021-11-11
  • Spring SpringMVC在啟動完成后執(zhí)行方法源碼解析

    Spring SpringMVC在啟動完成后執(zhí)行方法源碼解析

    這篇文章主要介紹了SpringMVC在啟動完成后執(zhí)行方法源碼解析,還是非常不錯的,在這里分享給大家,需要的朋友可以參考下。
    2017-09-09

最新評論

股票| 仙桃市| 承德县| 潞城市| 镇安县| 任丘市| 射阳县| 陇南市| 安达市| 永吉县| 平陆县| 兰坪| 东丰县| 运城市| 页游| 栾城县| 永吉县| 大城县| 额尔古纳市| 涟水县| 鄂托克前旗| 老河口市| 吉水县| 木兰县| 望奎县| 察雅县| 剑河县| 淮南市| 扎兰屯市| 南开区| 饶平县| 平顶山市| 土默特右旗| 轮台县| 巴青县| 长宁区| 万荣县| 兴山县| 辽中县| 浏阳市| 辽宁省|