详细简单学JAVA_ Super关键字

本文详细介绍了Java中super关键字的使用,包括访问父类构造器、属性和方法,以及在子类构造器中的应用。特别强调了在方法和属性重载时super的选择和访问优先级规则。
摘要由CSDN通过智能技术生成

Super关键字

基本介绍

super是对父类的引用 用于访问父类的构造器 属性 方法

基本使用语法

访问属性 但不能直接访问私有属性 super.属性名
访问方法 但不能直接访问私有方法 super.方法
访问构造器 但只能在子类构造器中访问 且只能放在第一句 super(参数) 子类构造器中this和super不能同时出现

细节1:

访问分两情况:
*当访问的方法和属性与子类中没有重复时 可以选择3种方式进行访问

直接输入方法名(属性名)
this.方法名(属性名)
super.方法名(属性名)

public class Father{
	public void prints(){
		Ssytem.out.println("父类方法被调用")}
}
public class Son extends Father{
	//prints();         //方法1与2  都是在子类中调用父类方法  前提是没有重复名的方法 如果有重复 就是调用子类的方法 跟继承的思路一
	//this.prints();    //一直往上找  直到找到一个可以运行的为止   注意  不能直接访问私有  要通过父类公开的方法
	super.prints();     //super方法则直接找父类 不会在子类中查找   减少了一个过程 如果父类找不到 就找object类  然后找不到系统报错
}

*当访问的方法和属性与子类中重复时 只能选择super关键字查找 不然会调用到子类 跟继承中的调用规则一样

public class Father{
	public void prints(){
		Ssytem.out.println("父类方法被调用")}
}
public class Son extends Father{
	//prints();         
	//this.prints();    //super方法则直接找父类 不会在子类中查找     
	super.prints();     
}

细节2:

*super的访问不局限于父类(爷爷类…祖宗类 就是父类的父类的父类…) 同时访问遵循就近原则

如果子类访问的在父类中找不到 那么就访问爷爷类 (父类的父类)。。。。。以此类推
遵循就近原则 如果父类和爷爷类同时有被子类访问的属性 那么肯定先访问父类 如果父类是私有就访问爷爷类 直到访问成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值