子类继承父类,并重写父类方法
生活随笔
收集整理的這篇文章主要介紹了
子类继承父类,并重写父类方法
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
例子1:
父類:
public class Person {public String name;public int age;public Person(String name,int age){this.name=name;this.age=age;}public Person() /*如果不寫這個(gè)構(gòu)造函數(shù),看看對(duì)類Student有什么影響。*/{}public void getInfo(){System.out.println(name);System.out.println(age);}
}子類:
public class Student extends Person{String school;public Student(String name,int age,String school){super(name,age);this.school=school;}public Student(){}public void study() {System.out.println("學(xué)習(xí)非常棒!");}public static void main(String[] args)
{Person p=new Person();p.name="person";p.age=45;p.getInfo();Student s=new Student();s.name="student";s.age=26;s.getInfo();s.study(); }
}例子2:
在子類中可以根據(jù)需要對(duì)從父類中繼承來的方法進(jìn)行改造----方法的覆蓋 ( 也叫重寫)。
覆蓋方法必須和被覆蓋方法具有相同的方法名稱、參數(shù)列表和返回值類型。
例如例子1那個(gè)Student程序,它繼承了Person類的getInfo方法,這個(gè)繼承到的方法
只能打印出學(xué)生的name和age,不能打印出學(xué)生專有的信息,比如學(xué)校的名稱等,這時(shí)我
們就應(yīng)該在類Student中重新編寫一個(gè)getInfo方法,這就是方法的覆蓋。父類:
package javatest;public class Person {public String name;public int age;public Person(String name,int age){this.name=name;this.age=age;}//如果不寫這個(gè)構(gòu)造函數(shù),看看對(duì)類Student有什么影響。public Person(){}public void getInfo(){System.out.println(name);System.out.println(age);}
}子類繼承父類:
public class Student extends Person{String school; //父類是沒有的,子類特有的public Student(String name,int age,String school){super(name,age);this.school=school;}public Student(){}public void study() {System.out.println("學(xué)習(xí)非常棒!");}public void getInfo(){super.getInfo();System.out.println(school);}public static void main(String[] args)
{Person p=new Person();p.name="person";p.age=45;p.getInfo();Student s=new Student();s.name="student";s.age=26;s.school="清華大學(xué)";s.getInfo();s.study(); }
}
總結(jié)
以上是生活随笔為你收集整理的子类继承父类,并重写父类方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android studio编译提示错误
- 下一篇: 在vim下按F4自动添加作者信息,文件创