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();
        
    }
}

 

posted @ 2014-12-12 23:24  屌丝一枚#  阅读(108)  评论(0)    收藏  举报