Java中super详解

article/2025/8/15 14:43:13

目录

Java中super详解

super的作用:

1.     通过super可以访问父类的构造方法 

2.   通过super可以访问父类的属性(非私有)

3.        通过super可以访问父类的方法(非私有的方法)


Java中super详解

在说super之前先说一下Java中的继承,继承是Java中面向对象编程技术的重要基石,因为它允许创建分等级层次的类。继承就是子类继承父类的行为和特征,就是方法和属性。私有的属性和方法子类是能继承的,但是子类无法直接调用,调用父类的私有属性需要在父类中声明get和set方法,这里final类型的父类成员私有变量也能被子类继承,而父类中的私有方法,子类虽然继承了,但是并不能够使用。

继承的限制:Java中只有单继承,多重继承,没有多继承(一个子类有多个父类的情况不允许存在)

java权限修饰符
修饰符子类其他包
public
protected×
default××
private×××

super的作用:

1.     通过super可以访问父类的构造方法 

调用父类构造方法的代码必须放在子类构造方法的第一行,不这样执行会报错(规定的格式),用super调用属性时不用遵守。

当父类没有无参构造方法时,不能直接使用super();调用父类构造方法

设置父类Person

package com.kkb.task010203.pojo;import java.util.Objects;public class Person {private int age;private String name;public Person() {System.out.println("父类无参构造方法被调用");//无参构造函数}public Person(int age, String name) {//有参构造函数this.age = age;this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Person person = (Person) o;return age == person.age &&Objects.equals(name, person.name);}@Overridepublic int hashCode() {return Objects.hash(age, name);}@Overridepublic String toString() {return "姓名"+this.name+",年龄"+this.age;}public void setName(String name) {this.name = name;}public void say(){
//父类中的say方法System.out.println("我叫"+name+"今年"+age+"岁了");}
}

子类Teacher

package com.kkb.task010203.pojo;public class Teacher extends Person{public Teacher() {//子类的构造方法super(14,"李四");//调用父类中有参构造方法}
}

测试类

package com.kkb.task010203.pojo;public class MainTest {public static void main(String[] args) {Teacher teacher = new Teacher();teacher.say();//由于子类中没有重定义say方法,这里调用Person父类中的say方法}
}

输出结果

2.   通过super可以访问父类的属性(非私有)

我们在父类属性中添加一个public属性 

在子类方法中通过super操作Person父类中sex属性

这时父类中的sex属性已经被修改,可以通过print验证。

3.        通过super可以访问父类的方法(非私有的方法)

利于super调用Person父类中的setName()方法修改Teacher对象的姓名属性

 

输出结果

 


http://chatgpt.dhexx.cn/article/3Xu4f2nr.shtml

相关文章

网络安全工程师零基础入门:(企业级)从入门到精通学习路线规划,学完即可就业

前言 最近总能在网上看到很多诸如:“怎样成为网络信息安全工程师”等相关问题,这可能与近几年网络安全事件频发,国家对于互联网信息安全和互联网舆情的重视程度不断提升有关,似乎网络信息安全工程师随之成为炙手可热的职业。 很…

网络安全工程师需要学哪些内容?零基础如何从入门到精通,看完这一篇就够了

网络安全工程师需要学习哪些内容? 作为一名网络安全工程师,需要学习以下内容: 计算机网络和操作系统:网络安全工程师需要了解计算机网络和操作系统的基础知识,以便理解网络安全的基础原理。 网络协议和技术&#xff…

论零基础自学web安全如何成为一名网络安全工程师

学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发. 3.有时多google,baidu,我们往往都遇不到好心的大神,谁会无聊天天给你做解答. 4.遇到实在搞不懂的,可以先放放,以后再来解决. …

网络安全工程师必备的七大技能

网络安全有多重要 网络安全非常重要,因为在现代社会中,人们日常生活中的很多方面都与网络有关。随着互联网和数字技术的不断发展,人们已经变得越来越依赖网络,网络已经成为了商业、金融、通信、交通、能源、医疗、教育等各个领域…

自学黑客(网络安全),一般人我劝你还是算了吧

一、自学网络安全学习的误区和陷阱 1.不要试图先成为一名程序员(以编程为基础的学习)再开始学习 我在之前的回答中,我都一再强调不要以编程为基础再开始学习网络安全,一般来说,学习编程不但学习周期长,而…

自学网安十余载,如何成为一名网络安全工程师?

前言 说实话,直到现在,我都认为绝大多数看我这篇文章的读者最后终究会放弃,原因很简单,自学终究是一种适合于极少数人的学习方法,学习进度非常非常慢,在这个过程中的变数过大,稍有不慎&#xf…

成为一名网络安全工程师,你应该学习什么?

前言 这是我的建议如何成为网络安全工程师,你应该按照下面顺序学习。 简要说明 第一件事你应该学习如何编程,我建议首先学python,然后是java。 (非必须)接下来学习一些算法和数据结构是很有帮助的,它将帮…

零基础自学网络安全?劝你还是别做梦了,你可能不知道这行门槛有多高...

前言 作为一名5年网安工程师老菜鸟来说,我实在想不通,开发岗位那么多,为什么要来学网安? 在这里必须给那些准备入坑的同学泼几盆冷水!零基础自学网络安全?劝你还是别做梦了! 待遇 我想不管什么工作&am…

网络安全自学能学会吗?网络安全如何学习

网络安全是近年来的热门工作,吸引了许多小伙伴开始学习网络安全知识。那么我们应该如何学习网络安全呢?这是一个很多人都在考虑的问题。网络安全可以自学吗?自学网络安全能不能学会? 无论什么知识都是自学的,只是说每…

入门网络安全工程师要学什么

根据最新版网络安全产业人才发展报告发布的信息得到的结论: 1、疫情常态化后,国内经济回温,网络安全人才需求增长,2021年上半年需求就较去年增长39.87%,平均薪酬较往年提高4.85%。 2、网络安全工程师从业趋势年轻化&a…

网络安全系统教程+渗透测试+学习路线(自学笔记)

一、什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面性…

网络安全工程师自学教程2023年最新版

什么是黑客? 你以为的黑客是这样的: 黑客帝国 实际上,黑客可能是街边炒粉的大叔、穿着格子衫的路人甲、一位体重再增加就得买3人座的“小胖” 著名黑客Richard Stallman 黑客是一类掌握超高计算机技术的人群。凭着掌握的知识,他…

网络安全工程师自学教程,从零基础到精通2023年最新版,想入坑的收藏这一篇就够了,全程无尿点

前言 网络安全非常重要,因为随着互联网的普及和应用的广泛,网络攻击的威胁也越来越大,如果不重视网络安全,可能会导致个人隐私泄露、财产损失、国家安全受到威胁等问题。因此,保障网络安全对于个人和社会都非常重要。…

网络安全工程师一般都是自学的吗?

前言 谈起黑客,可能各位都会想到:盗号,其实也不尽然;黑客是一群喜爱研究技术的群体,在黑客圈中,一般分为三大圈:娱乐圈 技术圈 职业圈。 娱乐圈:主要是初中生和高中生较多&#xf…

网络安全(黑客)自学

黑客,对很多人来说充满诱惑力。很多人可以发现这门领域如同任何一门领域,越深入越敬畏! 学前感言: 1.这是一条坚持的道路,三分钟的热情可以放弃往下看了. 2.多练多想,不要离开了教程什么都不会了.最好看完教程自己独立完成技术方面的开发 3.有…

零基础如何自学成为网络安全工程师

前言 一份网络攻防渗透测试的学习路线,不藏私了! 👉 【一帮助安全学习一】👈这里自取256G网络安全自学资料 1、学习编程语言(phpmysqljshtml) 原因: phpmysql可以帮助你快速的理解B/S架构是怎样运行的&#xff0c…

如何通过3个月自学成为网络安全工程师!

前言: 趁着今天下班,我花了几个小时整理了下,非常不易,希望大家可以点赞收藏支持一波,谢谢。 我的经历: 我 19 年毕业,大学专业是物联网工程,我相信很多人在象牙塔里都很迷茫&…

网络安全工程师入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

前言 想要成为网络安全工程师,却苦于没有方向,不知道从何学起的话,下面这篇 网络安全入门 教程可以帮你实现自己的网络安全工程师梦想,如果想学,可以继续看下去,文章有点长,希望你可以耐心看到…

零基础自学网络安全,来收藏这一篇就够了,白嫖网安教程,

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

如何自学网络安全?零基础入门看这篇就够了(含路线图)

根据腾讯安全发布的《互联网安全报告》,目前中国网络安全人才供应严重匮乏,每年高校安全专业培养人才仅有3万余人,而网络安全岗位缺口已达70万,缺口高达95%。而且,我们到招聘网站上,搜索【网络安全】【Web安…