父類和子類java
㈠ java什麼是繼承什麼是父類什麼是子類
繼承是面向對象的三大特徵之一,直接說定義不好理解,我打個比方吧,現在需要男人,女人,老人,小孩4個類,每個類都有很多屬性,而且有一部分相同的屬性,例如每個人都有身高,體重等等,我們就可以提取這些相同的部分,建立一個新的類:人類,然後把公共的屬性寫在人類里,用其他4個來繼承人類,其他4個類就不需要寫這些屬性,而是可以直接調用這些屬性。
我這個例子,人類就是父類,其他4個類繼承人類,所以是人類的子類!
㈡ java中子類父類問題
主類,即含有main方法的類,必須是public的。而文件名必須和public修飾的類同名。訪問私有成員變數應該使用set方法。
所以,你的代碼修改如下:
importjava.util.Scanner;
publicclassCircle{
privatedoubler;
privatedoublecs;
publicvoidsetRadius(doubleradius){
r=radius;
}
publicvoidshowArea(){
cs=3.14*r*r;
System.out.println("Theareaofcircleis:"+cs);
}
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.print("inputr:");
doubler1=input.nextDouble();
Circlec1=newCircle();
c1.setRadius(r1);
c1.showArea();
}
}
㈢ java的父類和子類的關系有哪些
首先你要明白一點:在面向對象語言中(java、c++、c#、smalltalk...)類是具有相同特徵、屬性(java中類的成員變數)和行為(java中類的方法)的事物的抽象資料庫結構,一個類代表著這類事物所擁有的性質和行為。那麼對你的問題中,既然是父類和子類,首先從文字意義上就知道他們存在著父子關系,這和現實中一樣,父子必有共性,在java中用extends關鍵字來標識這種關系,extends是擴展的意思,從這里我們不難看出一點:子類擁有比父類共強大的功能,或者更多的屬性。就是說子類對父類進行了擴展,並且父類能做的事子類也能做(非父類私有),除了父類私有的方法和屬性,就像我們父親的手是用來給父親吃飯的而不是給我們吃飯的一樣,在子類中我們可以引用父類的方法或者對付類的方法重新定義(重寫),在父類被使用的場合可以使用子類(產生多態性),我們可以聲明在某個地方使用某個類,而具體用的時候我們用其子類的實現來做(也就是吧子類的實例傳進來),一般某個類的定義必有其功能和意義,而其子類有著跟多更強大的功能(如果子類和父類只能完成一樣的功能那麼這樣的子類就失去了存在的意義,可以存在但沒意義)。父類中被標識為public和protected的屬性和方法可以再子類中直接引用,而私有的屬性和方法只能通過其他公有方法去訪問;繼承使得類的體系結構變得龐大,功能也變得強大,但這也使得類的個數急劇增大,這時就需要使用介面,C++中類可以多重繼承,而java中不允許,而是通過介面來實現同樣的功能,正因為有這樣的機制(繼承和介面)面向對象語言中才會產生各種各樣如花似錦的設計模式來使得我們的設計變得精妙...,面向對象的世界就像是一個活生生的人類世界慢慢體會吧,雖然我學java也有一段時間了但和很慚愧沒什麼成果,一起努力吧
㈣ 在java 中,什麼叫父類,什麼叫子類
父類和子類,就例如:老子和兒子,有著父子關系。而這里指的父子關系,其實也就是一種包含關系。打個比方,在我們現實生活中,學生Student是一個很大的概念,而U_Student大學生是屬於學生中的一種,這里的學生即為父類,大學生即為子類。
父類和子類區別在哪?
學生和大學生都會有學習Study這個方法,但是大學生還會有自己特有的Study方法,兩者還是有一定區別的,大學生的學習相較於其他學生來說,是更自由的。假如現在已經有一個學生(Student)類,然後我還要寫一個大學生(U_Student)類,然後大學生UStudent類里有很多方法和Student里的方法都相同,但是還是有一小部分不同,怎樣解決呢?難道還要重新寫一個大學生類,並且重復敲一遍和學生類中一樣的代碼嗎?那樣浪費了時間和精力,並且浪費了存儲空間,是很不劃算的。所以,就有了「繼承」。
子類繼承父類,就是子類能引用父類中的某些東西。繼承的關鍵字是extends,
例如:
public class Student(){}//父類
public class U_Student extends Student(){}//子類繼承了父類
當子類和父類用一個同名方法,但是子類的實現卻和父類不同,用到"方法重寫"。
重寫是指方法定義相同,但是實現不同,存在於父子類之間。
例如:
//父類
public class Student(){
//學習方法
public void study(){
System.out.println("我通過聽老師講課學習");
}
}
//子類
public class UStudent extends Student(){
public void study(){
System.out.println("我通過自習去學習");
}
}
㈤ 什麼是類的繼承性Java中子類和父類有什麼關系
1,不是繼承性吧,應是傳遞性,如a繼承b,b繼承c,既a繼承c,子類可以繼承父類中的屬性和方法(除私有的)。
㈥ 請問在Java中,父類和子類是怎樣定義的定義這些東西有什麼用
一般最頂級的父類是用抽象類,說白了就是一個抽象關系。比如:鳥類是抽象類,鴿子就是鳥類的一種,而且鴿子不僅有鳥類的特徵,還有自己的特徵。這樣的關系就是繼承。
一般的不太深的用法,就是父類的東西,子類可以調用,有可重用性;這樣你可能會問了,我寫個文件,調用一個文件里的函數進行重用不一樣嗎?!關鍵這樣就不是「類」,類本身有它的哲學上的意義。它需要一種系統的調用,你使用文件第一就是實現不了對應用文件的「封裝」,另一個在面向對象的語言里最長用到的就是子類調用時,引用父類類型所謂的「上塑造型」。建議你看看JAVA編程思想,和設計模式一類的書。而且設計模式的目的幾乎都是圍繞「繼承、封裝和多態」的。
㈦ java中的子類和父類是不是一定要在同一個包中
肯定可以在不同的包中,引用一下就可以了。但如果子類和父類都是自己寫的,通常應該放在一個包中,以免繼承關系不好理解。
㈧ java的抽象類和父類子類有啥區別
父類和抽象類:
父類是相對來說的,如果B類繼承自A類,那麼A類就是B類的父類,但是抽象類是一個絕對概念,只要使用abstract關鍵字聲明的類都是抽象類。抽象類不能夠直接被實例化,比如C類是抽象類,那麼就不能使用new關鍵字聲明C類的對象,只能聲明抽象類子類的對象。一般來說,抽象類一定是某些類的父類(否則因為不能聲明抽象類的對象,也就不能使用抽象類,當然這也不是絕對的,如果抽象類中的方法都是靜態方法,不需要使用實例對象,那麼也是可以的),但是父類不一定是抽象類。
子類關系:只要子類沒有把從父類繼承的抽象方法全部實現(注意是全部實現),就必須也變成抽象類。父類有2個抽象方法,子類只實現了父類的1個抽象方法,則子類必須是抽象類。如果子類把父類的2個抽象方法都實現了,就沒必要是抽象類。判斷標准就是,非抽象子類中不能有抽象方法,如果有抽象方法,子類就必須是抽象類。如果子類添加了自己的抽象方法,子類也必須是抽象類,無論父類是不是抽象類。
㈨ JAVA中父類對象和子類的區別
子類用extends
繼承父類
子類可以調用父類非私有的方法,屬性
父類不可以調用子類裡面特有的方法屬性
子類可以重寫、重載父類方法
子父類和普通的類其實區別不大,你是在理解不了就拿現實中的父親兒子來理解就行,父親獨有的,兒子不能用,兒子獨有的父親不能用,但是其他的,父親有的兒子不是都可以用么。
㈩ java 子類和父類
1.有,子類包含父類所有方法,只是隱藏而已
2.不會