日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java 上溯_java中Instrument的上溯造型

發(fā)布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 上溯_java中Instrument的上溯造型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

繼承最值得注意的地方就是它沒有為新類提供方法。繼承是對新類和基礎類之間的關系的一種表達。可這樣總結該關系:“新類屬于現有類的一種類型”。

這種表達并不僅僅是對繼承的一種形象化解釋,繼承是直接由語言提供支持的。作為一個例子,大家可考慮一個名為Instrument的基礎類,它用于表示樂器;另一個衍生類叫作Wind。由于繼承意味著基礎類的所有方法亦可在衍生出來的類中使用,所以我們發(fā)給基礎類的任何消息亦可發(fā)給衍生類。若Instrument類有一個play()方法,則Wind設備也會有這個方法。這意味著我們能肯定地認為一個Wind對象也是Instrument的一種類型。下面這個例子揭示出編譯器如何提供對這一概念的支持:

//: Wind.java

// Inheritance & upcasting

import java.util.*;

class Instrument {

public void play() {}

static void tune(Instrument i) {

// ...

i.play();

}

}

// Wind objects are instruments

// because they have the same interface:

class Wind extends Instrument {

public static void main(String[] args) {

Wind flute = new Wind();

Instrument.tune(flute); // Upcasting

}

} ///:~

這個例子中最有趣的無疑是tune()方法,它能接受一個Instrument句柄。但在Wind.main()中,tune()方法是通過為其賦予一個Wind句柄來調用的。由于Java對類型檢查特別嚴格,所以大家可能會感到很奇怪,為什么接收一種類型的方法也能接收另一種類型呢?但是,我們一定要認識到一個Wind對象也是一個Instrument對象。而且對于不在Wind中的一個Instrument(樂器),沒有方法可以由tune()調用。在tune()中,代碼適用于Instrument以及從Instrument衍生出來的任何東西。在這里,我們將從一個Wind句柄轉換成一個Instrument句柄的行為叫作“上溯造型”。

總結

以上是生活随笔為你收集整理的java 上溯_java中Instrument的上溯造型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。