super关键字的作用

下面从4个角度讲解一下super(需要对比的时候拿this对比一下,加深理解)

1、super表示超(父)类的意思,this表示对象本身

2、super可用于访问父类被子类隐藏或着覆盖的方法和属性,使用形式为super.方法(属性)

3、在类的继承中,子类的构造方法中默认会有super()语句存在(默认隐藏),相当于执行父类的相应构造方法中的语句,若显式使用则必须位于类的第一行 

4、对于父类有参的构造方法,super不能省略,否则无法访问父类的有参构造方法,使用形式为super(xx,xx...)


 class Person {  
       protected void print() {  
          System.out.println("The print() in class Person.");  
       }  
   }         
   public class DemoSuper extends Person {        
       public DemoSuper(){        
          super(); //调用父类的构造方法,而且放第一行,如果不写,系统自动加  
       }  
       public void print() {  
          System.out.println("The print() in class DemoSuper.");  
          super.print();// 调用父类的方法  
       }         
       public static void main(String[] args) {  
          DemoSuper ds = new DemoSuper();  
          ds.print();  
       }  
   }

你可能感兴趣的:(super关键字的作用)