java父類中
① java中的父類是什麼
Java中父類的意思是:
某一個類B繼承了類A
則說A是B的父類。
繼承後B擁有A所有的公開方法和屬性。
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行復雜的編程 。
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
② java中的父類方法是什麼意思
通過super調用父類的方法
舉例:
public class Father{//定義父類
public void s(){//定義父類的版方法s
}
}
public class Son extends Father{//定義子類權son,繼承父類father
public void s(){//定義子類的s方法,覆蓋了父類的s方法
super.s();//通過super調用父類的s方法
}
}
補充:
Java中,在繼承關系中,super指向當前對象裡面的父對象。
③ 在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中子類繼承父類時獲得父類成員繼承規則是什麼
許可權public > 包(package,默認,也就是什麼許可權修飾符都不加) > proteced > private
子類繼承了父類的所有成員(這樣說實際是不對的),但只能訪問父類的非private成員。你可以認為子類持有一個名為supper的父類實例。
當父類和子類方法發生覆蓋式,子類可以顯式地用supper調用父類的同名方法。
//父類
public class Futher {
public static String _CN = Futher.class.getName();
public Futher(){
System.out.println(_CN + " - public Futher()" );
}
public Futher(int i){
this.privateInt = i;
System.out.println(_CN + " - public Futher(int " + i + ")");
}
private void privateMethod(){}
protected void protectedMethod(){}
public void publicMethod(){}
void packageMethod(){}
private int privateInt = 0;
protected int getPrivatInt(){
System.out.println(_CN + " - privateInt:" + privateInt);
return privateInt;
}
}
//子類
public class Son extends Futher{
public static String _CN = Son.class.getName();
public Son(){
System.out.println(_CN + " - public Son()");
}
public Son(int i){
super(i);
System.out.println(_CN + " - public Son(int " + i + ")");
}
public static void main(String[] args){
Son son = new Son();
son.packageMethod();
son.publicMethod();
son.protectedMethod();
int futherPrivateInt = son.getPrivatInt();
Son son2 = new Son(futherPrivateInt + 1);
}
}
⑤ java中子類能繼承父類的父類嗎
繼承。Java中所有的類都有一個共同的父類(嚴格說是父類的父類的……父類)——Object類。
所有的類都可以用自己的實例調用Object類中定義的非private的成員方法,因為它們都是Object的子類。
⑥ java的子類和父類中的super、this的區別
對,沒重寫那super.add() 和this.add() 都是調的父類的方法, 沒什麼區別,如果重寫了this.add()就默認調本類的方法,super就默認調父類的方法,
再在子類中,都不寫的話,如果有重寫父類的add()方法的話就默認調本類的add()方法, 如果本類沒有重寫就調父類的方法,
其實這種問題建議你直接寫一個小代碼一目瞭然,比如:
class A{
void add(){
System.out.println("天下無雙");
}
}
class B extends A{
void add(){
System.out.println("天下無賊");
}
void aa(){
add();
super.add();
}
}
public class aaaaaaa {
public static void main(String[] args) {
A a=new A();
B b=new B();
b.aa();
}
}
你可以試試, 我也是新手, 對這種問題還是比較喜歡自己動手, 聽別人說總有點雲里霧里的, 可以加我Q互相討論一下494792360
⑦ java類中類怎麼使用父類的屬性
在Java的繼承中,什麼時候會出現調用子類的方法,父類的屬性,沒太明白你的意思,調用子類的方法,自己想調就可以,調用父類的屬性,想調就調啊,這個隨便啊,還是你是問 有繼承,有多態的時候?
繼承是類與類之間的關系,比如父類Animal,子類Dog從Animal繼承,源文件為 Test.java :
class Animal { // 父類
public int i = 100; // 屬性,也就是成員變數
public void run() {
System.out.println("動物跑");
}
}
class Dog extends Animal { // 子類
@Override
public void run() {// 子類重寫父類的方法run
System.out.println("Dog四條腿跑");
}
}
public class Test {
public static void main(String[] args) {
// 調用父類屬性a
System.out.println(new Animal().i);
// 調用子類方法run
new Dog().run();
// 向上轉型
Animal aa = new Dog();
System.out.println(aa.i); // 調用父類屬性a
aa.run(); // 調用方法run
}
}
⑧ java 父類中抽象方法如何定義
用abstract修飾的方法即為抽象方法,
如:public abstract void method();
知識要注意,抽象方法不能有實現,包含抽象方法的類,必須也是抽象類
⑨ java中一個類可以有幾個父類
Java類只支持單繼承,不支持多繼承。也就是說只可以有1個父類。
但是介面可以多繼承。介面可以有多少父類。
類與類
繼承,單繼承
類與介面
實現,單實現,多實現
介面與介面
繼承,單繼承,多繼承