super关键字 和 访问权限修饰符
super关键字
super可以调用父类的方法,进行使用也可以理解为父类对象,
this关键字表示当前对象。
当一个属性的使用没有添加this或者super关键字的时候,他的查找顺序为:局部-->成员-->父类,如果没有则会报编译异常
被this修饰的变量,如果本类的成员变量中没有找到,也会去父类当中查找
被super修饰的变量只会从父类中查询,如果父类中没有,而子类存在,同样会编译错误
子类
public void sq(){
System.out.println("S:"+super.num);
}
父类
public int num = 10;
运行测试
在构造方法中,默认会添加一句super();而且必须是在第一行
public Student(){
System.out.println("父类执行了:");
}
public User(){
System.out.println("子类执行了:");
}
运行:
super和this关键字访问成员的区别
成员变量:
this成员变量
super . 成员变量 super不能访问私有成员变量
成员方法:
this . 成员方法
super . 成员方法
构造方法:
this(参数列表);
super(参数列表);
任何一个构造方法都默认的会在构造方法上生成super();访问父类的无参构造方法,为了初始化父类的成员变量
this和super二个方法不能在同一个方法中
访问权限修饰符
作用:表示被修饰的元素的访问权限
分为:public,protected,default,private
访问权限修饰符可以修饰的元素有:
类:
成员变量
成员方法
这四个的特点分别是:
public:成员对一切类可见
protected:本包下面都可见,不同包下只有子类可见
default:只对本包下面的可见
private:只对本类可见
宽严关系
public > protected > default > private
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix