public class Demo1 { public static void main(String[] args) { Sub sub=new Sub(); } } class Base { public Base() { System.out.println("Base"); } } class Sub extends Base { public Sub() { //調用父類的構造方法,必須爲第一行 super(); System.out.println("Sub"); } }
運行結果:函數
Base
Subthis
有時會遇到子類中的成員變量或方法與父類中的成員變量或方法同名。由於子類中的成員變量或方法名優先級高,因此子類中的同名成員變量或方法就隱藏了父類的成員變量或方法,可是咱們若是想要使用父類中的這個成員變量或方法,就須要用到super.spa
public class Demo2 { public static void main(String[] args) { City city=new City(); city.setName(); } } class Country { String name; void setName() { name="China"; } } class City extends Country { String name; void setName() { name="nanjing"; //調用父類的成員方法 super.setName(); System.out.println(name); //調用父類的成員變量 System.out.println(super.name); } }
運行結果:.net
nanjing
Chinacode
public class Demo3 { public static void main(String[] args) { Chinese ch=new Chinese(); ch=new Chinese("小明"); ch=new Chinese("小花",22); } } class Person { //靜態方法 public static void show(String s) { System.out.println(s); } public Person() { show("A Person"); } public Person(String name) { show("A person name is: "+name); } } class Chinese extends Person { public Chinese() { //調用父類的構造方法 super(); show("A chinese"); } public Chinese(String name) { //調用父類具備相同形參的構造方法 super(name); show("his name is:" +name); } public Chinese(String name, int age) { //調用本類具備相同形參的構造方法 this(name); show("his age is:"+age); } }
運行結果:blog
A Person
A chinese
A person name is: 小明
his name is:小明
A person name is: 小花
his name is:小花
his age is:22ci
注:本文轉載自http://blog.csdn.net/anmei2010/article/details/4093118it