java中的关键字super

来源:互联网 发布:电子口岸数据退税 编辑:程序博客网 时间:2024/04/30 18:04

super表示当前对象的父类对象的一个引用

下面简单说下super的几个应用

super可以调用当前对象的父类对象的方法

class cam0{double size=10;void printsize(){System.out.println(size);}}class cam1 extends cam0{double size=20;void printsize(){System.out.println(size);System.out.println(super.size);super.printsize();}}public class cam2{public static void main(String args[]){cam1 m=new cam1();m.printsize();}}

输出为

20.0

10.0

10.0

super调用m的父类cam0的成员和方法


super可以调用当前对象的父类对象的构造函数

注意: 子类调用父类的构造方法时,super语句必须是子类构造方法的第一句

class cam0{public cam0(int a,int b){System.out.println("CS");}}class cam1 extends cam0{public cam1(){super(1,1);System.out.println("bbb");}public cam1(int a){super(1,1);System.out.println("ccc");}}public class cam2{public static void main(String args[]){cam1 a=new cam1();cam1 b=new cam1(1);}}

输出为

CS

bbb

CS

ccc

对象a,b分别调用了父类cam0的构造函数

 

super可以把当前对象的父类对象的引用作为参数传递给其他方法

这个用法和this把当前对象的引用作为参数传递给其他方法相似,这里就不赘述了