繼承中類型的轉換
執行以下代碼:
class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} public class TestCast { public static void main(String args[]) { Mammal m; Dog d=new Dog(); Cat c=new Cat(); m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; } }
這個程序不能正常運行,因為在主函數裏d=m;這句話不符合Java的規則,
在繼承中,基類不能對子類的對象賦值,而子類可以對基類的對象賦值,
而且,非繼承關系的兩個類再賦值是也應該先進行強制轉化,比如:d=c;,
強制轉化也不是每次都可以成功的。可以使用instanceof運算符判斷一個對
象是否可以轉換為指定的類型,如果可以,則繼續進行。
繼承中類型的轉換
相關推薦
繼承中類型的轉換
pre 主函數 void 正常 line instance 對象 div 是否 執行以下代碼: class Mammal{} class Dog extends Mammal {} class Cat extends Mammal{} public class Test
jmeter中類型轉換,字符串,轉數字型或浮點型
bubuko src blog 博客 數字 true import lse 浮點型 最近在做接口,使用的是jemter工具,在使用jemter工具中,基礎的和高級的,在賀滿的博客中可以查看到,https://www.cnblogs.com/puresoul/p/509262
C++解析(25):關於動態內存分配、虛函數和繼承中強制類型轉換的疑問
cas ror src 一個 聲明 eof struct 定義 namespace 0.目錄 1.動態內存分配 1.1 new和malloc的區別 1.2 delete和free的區別 2.虛函數 2.1 構造函數與析構函數是否可以成為虛函數? 2.2 構造函數與析構
java中String類型轉換為yyyy-MM-dd的Date類型
col code edate birt mat led div get sys String birthday ="2017-02-22"; SimpleDateFormat sdf = new SimpleDateFormat(("yyyy-MM-dd")); jav
spring中使用HibernateTemplate或HibernateDaoSupport報類型轉換錯誤
select use can ria sel pop size ack trac 使用spring的HibernateDaoSupport的時候。報錯例如以下: java.lang.ClassCastException: java.lang.String cannot
SQL SERVER中強制類型轉換cast和convert的區別
varchar 時間 bold 功能 one 轉換 輸出 class 和數 在SQL SERVER中,cast和convert函數都可用於類型轉換,其功能是相同的, 只是語法不同. cast一般更容易使用,convert的優點是可以格式化日期和數值. 1 select
理解C#語言中的類型轉換----初學者的理解,請大神指教
寫代碼 需要 con c# 初學 har 3.1 parse 範圍 一下都是在視頻教學中學到後的理解,如果說錯了請大神指教 C#語言中的類型轉換,就是將某個數據要轉換成另一個類型的數據。 c#語言中的數據類型主要有: char類型(字符類型); string類型(字符串類型
javascript中的數據類型轉換
java原始值轉換成原始值【Undefined】 轉換為字符串: ‘undefined‘ 轉換為數字: NaN 轉換為布爾值: false【Null】 轉換為字符串: ‘null‘ 轉換為數字: 0 轉換為布爾值: false【Boolean】true 轉換為字符串: ‘true‘ 轉換為數字
C++中static_cast和dynamic_cast強制類型轉換
tro 父類 虛函數表 找到 virt 內部 pub 判斷 () 在C++標準中,提供了關於類型層次轉換中的兩個關鍵字static_cast和dynamic_cast。 一、static_cast關鍵字(編譯時類型檢查) 用法:static_cast < type-i
自己定義struts2中action類型轉換器
ansi work row 接受 4.0 open 技術 oos lang DateAction.java中代碼例如以下: package com.itheima.action; import java.util.Date; public class Da
java中的類型轉換關系
類型轉換 println clas main 默認 sys 1.2 rgs print public class A3{ public static void main(String[] args){ int i1=123; int i2=456; double d1=(i
VS2013 中 CString類型轉換為LPCSTR類型
結構 version truct true ast fin blog logs lpcstr HWND hWnd = ::FindWindow(NULL, L"XXXXXXX"); if (hWnd != NULL) { DWORD dwReadB
c#語言中的類型轉換
寫代碼 字符串 時間 編碼 3.1 表示 編寫 需要 string 類 在使用C#用語言編寫代碼的時候,經常要切換各種數據類型。這個時候就需要用到各種數字類型之間的切換。希望這篇隨筆可以有些幫助。 常用的數據類型轉換。例如,很多時候把用戶輸入的string 類
關於比較==操作符中的強制類型轉換
一次 size 類型 prim onu ffffff val def 進行 1、在number和string進行比較,需要將string類型數據進行toNumber轉化成number類型進行比較 42 == ‘42’ //true//即type(x) 如果是number類
python中的數據類型轉換
數學運算 取出 重復數據 部分 python 人工幹預 成了 普通 int() 今天想要寫的是python中比較簡單但是又相對重要的數據類型之間的互相轉換。所謂數據類型轉換其實很簡單,生活中就有很多的例子,比如:15+2.2=17.2,看著好像只是一次普通的數學運算,但是卻
VC++和C語言中常見數據類型轉換為字符串的方法
char* 北京 相同 字符指針 ascii bst sdn sprint 出現 1。短整型(int) itoa(i,temp,10);///將i轉換為字符串放入temp中,最後一個數字表示十進制 itoa(i,temp,2); ///按二進制方式轉換 2。長整型(long
三目運算中的類型轉換
int ant pri class 一個 pos body ble olt char x= ‘a‘; int i=10; System.out.println(false?i:x); System.out
sql語句 中把varchar類型轉換成int
order rom sel asc col pre cas tab clas // sql語句 中把varchar類型轉換成int select * from tableName order by cast(result as SIGNED INTEGER) asc;
c#中的裏氏轉換和Java中強制類型轉換在多態中的應用
readline color extends pre pri console AS 定義 spa 在c#中: 註意: 子類並沒有繼承父類的構造函數,而是會默認調用父類那個無參數的構造函數。 如果一個子類繼承了一個父類,那麽這個子類除了可以使用自己的成員外,還可以使用從父類
springmvc中Date類型轉換
ice AC imp cat str 接口 return nbsp led //實現類型轉換接口 package cn.bdqn.stusystem.util; import java.text.ParseException; import java.text.Simp