Java程序设计当中包的使用_【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承...
【學(xué)習(xí)筆記】 唐大仕—Java程序設(shè)計 第4講 類、包和接口之4.2 類的繼承
super的使用
1.使用super訪問父類的域和方法
注意:正是由于繼承,使用this可以訪問父類的域和方法。但是有時為了明確指明父類的域和方法,就要用關(guān)鍵字super。this和super都是指當(dāng)前同一個對象
例如:父類Student有一個域age,在子類Student中用age,那么this.age,super.age來訪問age是完全一樣的:
void testThisSuper(){
int a;
a = age;
a = this.age;
a = super.age;
}
當(dāng)然,使用super不能訪問在子類中添加的域和方法
有時需要使用super以區(qū)分同名的域和方法
使用super可以訪問被子類所隱藏了的同名變量
又如,當(dāng)覆蓋父類的同名方法的同時,又要調(diào)用父類的方法,就必須使用super。如:
@Override
void sayHello(){
super.sayHello();
System.out.println("My school is" + school);
}
在覆蓋父類的方法的同時,又利用已定義好的父類的方法
2.使用父類的構(gòu)造方法
構(gòu)造方法是不能被繼承的
比如,父類Person有一個構(gòu)造方法Person(String, int),不能說子類Student也自動有一個構(gòu)造方法Student(String, int)
但是,子類在構(gòu)造方法中,可以用super來調(diào)用父類的構(gòu)造方法。
Student(String name, int age, String school){
super(name, age);
this.school = school;
}
使用時,super必須放在第一句
父類對象與子類對象的轉(zhuǎn)換
類似于基本數(shù)據(jù)類型數(shù)據(jù)之間的強(qiáng)制類型轉(zhuǎn)換,存在繼承關(guān)系的父類對象和子類對象之間在一定條件下也可以相互轉(zhuǎn)換
(1).子類對象可以被視為其父類的一個對象,如一個Student對象也是一個Person對象
(2).父類對象不能被當(dāng)做其某一個子類對象
(3).如果一個方法的形式參數(shù)定義的是父類對象,那么調(diào)用這個方法時,可以使用子類對象作為實際參數(shù)
(4).如果父類對象引用指向的實際是一個子類的對象。那么這個父類對象的引用可以用強(qiáng)制類型轉(zhuǎn)換(casting)成子類對象的引用
總結(jié)
以上是生活随笔為你收集整理的Java程序设计当中包的使用_【学习笔记】 唐大仕—Java程序设计 第4讲 类、包和接口之4.2 类的继承...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 运行环境注册表_Java运行环
- 下一篇: 计算数字的出现次数 java_关于Jav