Java實現子類返回型別不一樣也能重寫(特殊情況)
由於子類和父類型別不完全一致,但是子類可以轉換成父類的型別,父類 不可以 轉換成子類的型別。
package com.cs;
public class Test01 {
int a=6;
}
package com.cs;
public class Test02 extends Test01{
int b=5;
}
package com.cs;
public class Test04 {
int a;
public Test01 ss() {
System.out.println("無重寫,過載");
return new Test01();
}
}
package com.cs;
//Test01為Test02的父類
//Test04為Test03的父類
public class Test03 extends Test04 {
int b;
public Test02 ss() {
System.out.println("重寫,無過載");
return new Test02();
}
}
package com.cs;
public class demo {
public static void main(String[] args) {
//Test01為Test02的父類
//Test04為Test03的父類
Test04 t = new Test03();
Test01 t1=t.ss();
}
}
輸出:重寫,無過載
父類Test04裡面方法返回的Test02(子) ,
子類Test03返回Test01(父)的話就會出錯。
如果在Test03返回型別除了“類”不同以外的不同(如 int void float等)也會出錯,要求你修改相同。
結論:只要子類方法名和引數列表與父類一樣的話就預設你是要在子類重寫父類的方法。然後再去判斷返回型別是否一致(類特殊:子類方法返回的型別是父類方法返回型別的子類算成一致)。
相關文章
- java中介面多個實現類,如何指定實現類,根據子類型別選擇實現方法Java型別
- Java程式異常處理的特殊情況Java
- JPA EntityManager 在沒有實體類的情況下返回Map
- DOM對映的特殊情況
- 泛型作為返回型別的寫法泛型型別
- 連線條件字元型別不一樣。字元型別
- 原始碼 | 靜態工廠返回宣告的返回型別的子型別的例項原始碼型別
- 如何橋接優化Java方法返回型別實現相容性? - Gunnar橋接優化Java型別
- PHP實現強型別函式返回值PHP型別函式
- sqlsugar 實現實體類中欄位是字串陣列情況SqlSugar字串陣列
- phpredis和predis 如何解決 返回型別不一致PHPRedis型別
- java統一返回標準型別Java型別
- CSS 也能實現 if 判斷?實現動態高度下的不同樣式展現CSS
- 自定義函式實現字串分割,返回集合型別函式字串型別
- 《自然》子刊:檢測心臟疾病也能如此簡單!只需要兩樣工具即可實現
- 重寫返回鍵(Fragment)Fragment
- Java類什麼情況下被初始化?Java
- JDK的版本不一樣,對xml的解析器也不一樣.JDKXML
- 隱形眼鏡也智慧?能與手機控制還能監測人體健康情況
- 高階網站建設中出現的一些特殊情況網站
- JavaScript也能寫WebAssemblyJavaScriptWeb
- 特殊採購型別型別
- 子類重寫父類的方法@Override的快捷鍵IDE
- 如何實現特殊的邊框樣式
- 從零開始學netty——為何重寫方法不一樣Netty
- Delphi Win32 API 使用的特殊情況 (轉)Win32API
- canvas也能實現事件系統????Canvas事件
- PowerPoint也能實現列表播放
- 【Java】基本型別包裝類Java型別
- 鏈式-父類中返回子類物件物件
- 在 Kotlin 中“實現”trait/型別類KotlinAI型別
- Java UrlRewrite 實現網站URL重寫過程實錄Java網站
- Amazing!!CSS 也能實現極光?CSS
- 那些不用js也能實現的效果JS
- 編寫類A02,定義方法find,實現查詢某字串是否子啊字元陣列中,並返回索引,如果找不到,返回-1字串字元陣列索引
- java中相同名字不同返回型別的方法Java型別
- 2.5.9.2 重寫預設表空間型別型別
- ORACLE MYSQL中join 欄位型別不同索引失效的情況OracleMySql型別索引