在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Java怎么正确地向上转型和向下转型

107次阅读
没有评论

共计 980 个字符,预计需要花费 3 分钟才能阅读完成。

在 Java 中,向上转型是指将一个子类对象赋值给一个父类引用变量,向下转型是指将一个父类引用变量强制转换为其子类对象。

向上转型示例:

class Animal {public void sound() {System.out.println("Animal makes sound");
    }
}

class Dog extends Animal {public void sound() {System.out.println("Dog barks");
    }
}

public class Main {public static void main(String[] args) {Dog dog = new Dog(); // 创建子类对象
        Animal animal = dog; // 向上转型,将子类对象赋值给父类引用变量
        animal.sound(); // 调用父类引用变量的方法会执行子类的方法
    }
}

输出结果为:

Dog barks

向下转型示例:

class Animal {public void sound() {System.out.println("Animal makes sound");
    }
}

class Dog extends Animal {public void sound() {System.out.println("Dog barks");
    }
    
    public void fetch() {System.out.println("Dog fetches");
    }
}

public class Main {public static void main(String[] args) {Animal animal = new Dog(); // 创建父类引用变量指向子类对象
        Dog dog = (Dog) animal; // 向下转型,强制将父类引用变量转换为子类对象
        
        dog.fetch(); // 调用子类对象的方法
    }
}

输出结果为:

Dog fetches

需要注意的是,向下转型存在风险,如果父类引用变量指向的实际对象不是转型后的类型,会导致运行时异常。因此,在进行向下转型时,最好先使用 instanceof 运算符来判断引用变量是否可以转型为目标类型,以避免运行时异常的发生。

if (animal instanceof Dog) {Dog dog = (Dog) animal;
    dog.fetch();} else {System.out.println("Cannot downcast to Dog");
}

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2024-01-29发表,共计980字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 免费一级视频在线播放 | 亚洲人成在线精品不卡网 | 91九色视频无限观看免费 | 欧美黑人成人www在线观看 | 亚洲一区二区黄色 | 国产自产c区| 日韩美一区二区三区 | 日本欧美一区二区三区乱码 | 国产成人亚洲精品一区二区在线看 | 一级毛片视频在线观看 | 新婚少妇无套内谢国语播放 | 免费人成年激情视频在线观看 | 热99re久久精品这里都是免费 | 国产高清一区二区三区视频 | 亚洲一区二区三区自拍公司 | 欧美六九视频 | 92在线视频 | 97麻豆精品国产自产在线观看 | 亚洲成av人片在一线观看 | 国产一级精品视频 | 51国产午夜精品免费视频 | 麻豆精品久久久久久久99蜜桃 | 免费一级成人免费观看 | 国产特级毛片aaaaaa视频 | 久久久精品中文字幕乱码18 | 国产高清区 | 中文字幕精品一区二区三区在线 | 看全色黄大色黄大片色黄看的 | 色琪琪久久综合 | 日韩精品人妻中文字幕有码 | 欧美综合自拍亚洲综合百度 | 国产女人高潮抽搐喷水免费视频 | 欧美成人免费夜夜黄啪啪 | 国产婷婷一区二区三区 | 国产91精品一区二区麻豆网站 | 最近中文2019字幕第二页 | 日本免费人成黄页网观看视频 | 国产精品视频人人做人人爱 | 久久国产亚洲 | 日在线观看 | 青青草原成人 |