super

 super:主要用于引用父类的成员,涵盖了成员变量、成员方法以及构造方法。其主要用途是访问父类的属性和方法,或者调用父类的构造方法。
 当子类和父类存在同名的成员变量时,借助super关键字能够访问父类的成员变量:

class Parent {
   int num = 10;
}

class Child extends Parent {
   int num = 20;

   public void printNumbers() {
       System.out.println("Child's num: " + num);
       //访问父类的成员变量
       System.out.println("Parent's num: " + super.num);
   }
}

public class Main {
   public static void main(String[] args) {
       Child child = new Child();
       child.printNumbers();
   }
}

 当子类重写了父类的某个方法时,可以使用super关键字调用父类的原始方法:

class Parent {
   public void display() {
       System.out.println("This is the Parent class.");
   }
}

class Child extends Parent {
   @Override
   public void display() {
       //调用父类display方法
       super.display();
       System.out.println("This is the Child class.");
   }
}

 在子类的构造方法中,可使用super()调用父类的构造方法:

class Parent {
   public Parent() {
       System.out.println("Parent's constructor is called.");
   }
}

class Child extends Parent {
   public Child() {
       // 调用父类的无参构造方法
       super(); 
       System.out.println("Child's constructor is called.");
   }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、什么是Stream Java 8之前的集合类库主要依赖于 外部迭代(external iteration)。 ...
    冰河winner阅读 3,561评论 0 0
  • 声明:本篇文章除部分引用外,均为原创内容,如有雷同纯属巧合,引用转载请附上原文链接与声明本文链接:注:阅读本篇文章...
    nobita0522阅读 5,007评论 0 0
  • 之前的文章中也提到了,Stream 的核心在于Collectors,即对处理后的数据进行收集。Collectors...
    litesky阅读 15,963评论 5 24
  • Java8之Stream流(一)基础体验 Java8之Stream流(二)关键知识点 Java8之Stream...
    揭光智阅读 8,617评论 0 6
  • 1.概论 流提供了一种让我们可以在比集合更高的概念级别上指定计算的数据视图。通过使用流,我们可以说明想要完成什么任...
    黔语阅读 1,729评论 0 0