java的super关键字


super关键字

提示:java类继承时,子类使用super关键字

当子类重写父类的方法后,子类的对象将无法访问父类被重写的方法。


1.super访问父类的成员变量

成员变量:super.成员变量

//第一个类
class one{
	String name="花小猪";
	public void one1(){
		System.out.println("花小猪NO.1")
	}
}
//第二个类
class two extends one{
	String name="小猪佩奇";
	public void Name(){
		System.out.println("访问父类的成员变量:"+super.name)
	}
}

2.super访问父类的成员方法

成员方法:super.成员方法(参数1,参数2,…)

//第一个类
class one{
	String name="花小猪";
	public void one1(){
		System.out.println("花小猪NO.1")
	}
}
//第二个类
class two extends one{
	String name="小猪佩奇";
	public void Name(){
		System.out.println("访问父类的成员变量:"+super.name)
	}
	//重写父类的方法
	public void one1(){
		super.one1(); //访问父类的成员方法
	}
}

3.super访问父类的构造方法

构造方法:super(参数1,参数2,…)
提示:super调用父类的构造方法必须位于子类的构造方法第一行,并且只能出现一次。

//第一个类
class one{
	String name="花小猪";
	public void one(){
		System.out.println("花小猪NO.1")
	}
}
//第二个类
class two extends one{
	public void two (){
		super.one(); //访问父类的构造方法
	}
}

提示:看过我写的this关键字,你就会明白,这个跟this关键字调用的差不多,必须写在构造方法的第一行,且实例化时只出现一次。
重要提示:
1.子类的构造方法中一定要调用父类的构造方法!!!
2.子类的构造方法可使用super()关键字调用父类的构造方法,如果没有指定,在实例化时,会自动默认调用父类无参的构造方法。java类默认无参的构造方法(如果父类有有参的构造方法,就会删除默认无参的构造方法,需要单独重新写无参的构造方法)。假如子类实例化时,而父类没有无参的构造方法就会报错(看上面重要提示第一条)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值