java中的关键字super
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把当前对象的引用作为参数传递给其他方法相似,这里就不赘述了

浙公网安备 33010602011771号