您好,登錄后才能下訂單哦!
這篇文章給大家介紹Java基礎中繼承相關的內容有哪些,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
今天分享的是Java的基礎--繼承相關的內容
方法重寫概念: 子父類成員方法的特殊情況----覆蓋
子類中出現與父類一某一樣的方法時,會出現覆蓋操作,也稱之為:override重寫 復寫或者覆蓋.
通俗的說就是子類要使用父類中的功能,同時自己又有自己特有的功能.
重寫需要注意的問題: 子類方法覆蓋父類方法,必須要保證權限大于等于父類的權限. 權限有四種,最大的時public ,最小的時private.
2.方法重寫和方法重載的比較:
方法重寫: 子父類中,方法聲明,方法名,參數列表和返回值類型,必須一某一樣
方法重載:同一個類,方法聲明,方法名一樣,參數列表不一樣,跟返回值無關
3.this與super
當子類創建對象后,該子類對象本身可以使用this代替,而該對象當中的父類對象空間,可以使用super來代替.
以person為類,創建一個人的父類,創建一個中國人子類,創建一個Test 作為測試,打印小明18歲來自科技研究院
#### public class Person {
private String name;
private int age;
public Person(){}
public Person(String name,int age) {
this.name = name;
this.age = age;
}
}
public class Chinese extends Person{
private String address;
public Chinese(){}
public Chinese(String name,int age,String address) {
super(name,age);
this.address = address;
}
}
public class Test{
Chinese c = new Chinese(“小明”,18,”中國科技研究院”);
}
4.this 與super調用普通成員與構造方法
調用普通成員:
this.成員變量 可以訪問本類對象的成員變量
super.成員變量 可以訪問父類對象的成員變量
this.成員方法() 可以訪問本類對象的成員方法
super.成員方法() 可以訪問父類對象的成員方法
調用構造方法:
this(其他參數) 可以訪問本類其他的構造方法
super(其他參數) 可以訪問父類其他的構造方法
構造方法:
無法繼承,默認調用父類無參構造
super():表示訪問父類無參構造方法
super(參數) :表示訪問父類有參構造方法
舉例: 用代碼實現如下語句:使用繼承的方法,不使用抽象:
工資為8000元的30歲的王小平正在吃飯
工資為8000元的30歲的王小平老師在講課
成績為90.0分的14歲的小王在吃學生餐
成績為90.0分的14歲的小王學生在學習
1.定義一個Person類:
public class Person {
private String name;
private int age;
public Person(){}
public Person(String name,int age){
this.name = name ;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public void eat(){
System.out.println(age+"歲的"+name+"在吃飯");
}
}
2.定義一個Teacher類:
public class Teacher extends Person {
private int salary;
public void eat(){
System.out.println("工資為"+salary+"元的"+getAge()+"歲的"+getName()+"正在吃飯");
}
public void lecture(){
System.out.println("工資為"+salary+"元的"+getAge()+"歲的"+getName()+"老師在講課");
}
public Teacher(){}
public Teacher(String name,int age,int salary){
super(name,age);
this.salary = salary;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
}
3.創建一個學生類:
public class Student extends Person{
private double score;
public void eat(){
System.out.println("成績為"+score+"分的"+getAge()+"歲的"+getName()+"在吃學生餐");
}
public void study(){
System.out.println("成績為"+score+"分的"+getAge()+"歲的"+getName()+"學生在學習");
}
public Student(){}
public Student(String name ,int age,int score){
super(name,age);
this.score = score;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
4.測試:
public class test01 {
public static void main(String[] args) {
Teacher t = new Teacher();
t.setName("王小平");
t.setAge(30);
t.setSalary(8000);
t.eat();
t.lecture();
Student s = new Student("小王",14,90);
s.eat();
s.study();
}
}
關于Java基礎中繼承相關的內容有哪些就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。