Super关键字
在Java类中使用super来引用父类的成员
- super可用于访问父类中定义的属性
- super可用于调用父类中定义的成员方法
- super可用于在子类构造器中调用父类的构造器
- super的追溯不仅于直接父类
例:
package com.softeem.len5; //super关键字 //父类 public class Person { public String name="张老师"; public int salary; public char sex='男'; public Person(){ System.out.println("Person类的无参数构造方法"); } public void showName(){ System.out.println("姓名:"+this.name); } public int getsalary(int salary){ return salary; } } //子类 public class Teacher extends Person { public String name="王老师"; public int keshi=500;//课时 public Teacher(){ // super();//子类中隐藏的super()方法;默认调用父类中的无参构造方法 System.out.println("老师类中的无参构造方法"); } public Teacher(String name){//this与super不能同时在一个方法中 // super();//调用父类的构造方法 this();//调用当前类的无参数构造方法 } //方法重写 public int getSalary(int salary){ return super.getsalary(salary)+keshi; //子类调用父类方法,在前面加super } public void printName(){ System.out.println("老师:"+this.name);//调用当前类的属性 System.out.println("老师:"+super.name);//调用当前类父类的属性 System.out.println("性别:"+sex); } public static void main(String[] args) { //静态方法中不能使用super关键字 Teacher t1=new Teacher(); // int tsal=t1.getSalary(1000); // System.out.println("老师的工资:"+tsal); // t1.printName(); } }

浙公网安备 33010602011771号