java基础Day7 面向对象(2)

news/2025/1/30 9:26:14/文章来源:https://www.cnblogs.com/tse121/p/18692122

六、继承 Inheritance

6.1

继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。

extends:扩展。子类(派生类)是父类(基类)的扩展。

继承是类与类之间的关系。

java中只有单继承,没有多继承:一个儿子只能有一个爸爸,一个爸爸可以有多个儿子。

Inheritance>Application & Person & Student

package Inheritance;public class Application {public static void main(String[] args) {Student student = new Student();student.say();System.out.println(student.money1);System.out.println(student.money2);//System.out.println(student.money3);//私有的,不属于子类}
}
package Inheritance;//人
public class Person {//publicpublic int money1 = 100_0000;//defaultint money2 = 200_0000;//protected//privateprivate int money3 = 10_0000_0000;public void say(){System.out.println("说了一句话");}}
package Inheritance;//学生 是 人                派生类、子类
//子类继承了父类,就会拥有父类的全部方法(public)
public class Student extends Person {}

ctrl+h,打开层次结构:

在java中,所有类都默认直接或间接继承Object类

6.2 super

Inheritance>Application & Person & Student

package Inheritance;public class Application {public static void main(String[] args) {Student student = new Student();student.test1("name in test");student.test2();}
}
package Inheritance;//人
public class Person {//protectedprotected String name = "name in Person";public void print(){System.out.println("Person");}//alt+insert-->构造函数-->无选择public Person() {System.out.println("Person无参执行了");}
}
package Inheritance;public class Student extends Person {private String name = "name in Student";public void test1(String name){System.out.println(name);//name in testSystem.out.println(this.name);//name in StudentSystem.out.println(super.name);//name in Person}public void print(){System.out.println("Student");}public void test2(){print();//Studentthis.print();//Studentsuper.print();//Person}public Student() {//隐藏代码:调用了父类的无参构造//super();//且调用父类的构造器必须要在子类无参构造器的第一行//this("Hello");//如果调用子类自己的有参构造器,也必须要在子类无参构造器的第一行,且子类的有参构造器和父类构造器只能调用一个System.out.println("Student无参执行了");}
}

输出顺序是:

Person无参执行了
Student无参执行了
name in test
name in Student
name in Person
Student
Student
Person

Note:

  • super是调用父类的构造方法,必须在构造方法的第一个;
  • super必须只能出现在子类的方法或者构造方法中;
  • super和this不能同时调用构造方法;

vs. this:

  • 代表的对象不同:

​ this:本身调用着这个对象;

​ super:代表父类对象的引用。

  • 前提:

​ this:没有继承也可以使用;

​ super:只能在继承条件下才可以使用

  • 构造方法:

​ this():本类的构造;

​ super():父类的构造

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/876082.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java基础Day7 面向对象

六、继承 Inheritance 6.1 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。 extends:扩展。子类(派生类)是父类(基类)的扩展。 继承是类与类之间的关系。 java中只有单继承,没有多继承:一个儿子只能有一个爸爸,一个爸爸可以有多个儿子。Inheritance>…

[每日 C] Remove Exactly Two

前言 做一下一场没打的 \(\textrm{div 2}\) 的 \(\rm{C}\) 最近思维能力还在下降, 无敌 前天还能打出思维题, 今天打不出 \(\textrm{div 2 C}\) 思路 首先转化题意给定一个 \(n\) 节点的树, 求删除两个节点及其连边之后, 最大连通块的数量不难发现删除一个节点, 会把树分成几个…

物体检测

滑窗 卷积实现的滑窗参考:Convolutional Implementation of Sliding Windows | Coursera\[y = \begin{bmatrix} p_c \\ b_x \\ b_y \\ b_h \\ b_w \\ c_1 \\ c_2 \\ c_3 \end{bmatrix} \]

k8s启用ingress错误案例

ingress-nginx访问流程:问题: 部署2个nginx-deployment内容v1&&v2,结合ingress作为入口分别访问。访问ingress-入口失败 排错步骤: 1、首先确认2个nginx访问无问题 2、确认宿主机访问不问题 3、访问ingress一直无法连接服务器 到这一步 找不到服务器地址 cm到后端…

Python-100-Days|Python - 100天从新手到大师|学习笔记

Python-100-Days Make English as your working language. (让英语成为你的工作语言) Practice makes perfect. (熟能生巧) All experience comes from mistakes. (所有的经验都源于你犯过的错误) Dont be one of the leeches. (不要当伸手党) Either outstanding or o…

集训2 20240124

集训2 20240124 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A: 题目大意:给出 \(7\) 个数,判断有没有 \(4,7\) #include<bits/stdc++.h>using namespace std;int main() {int a[7];for (int i=0;i<7;i++) cin>>a[i];for (int i=0;i<…

【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注PyCharm 介绍 🌰 Pycharm是由JetBrains打造的一款专门用于编写和开发Python应用程序的集成开发环境…

nginx配置证书和私钥进行SSL通信验证

nginx配置证书和私钥进行SSL通信验证@目录一、背景1.1 秘钥和证书是两个东西吗?1.2 介绍下nginx配置文件中参数ssl_certificate和ssl_certificate_key1.3介绍下nginx支持的证书类型1.4 目前nginx支持哪种证书格式?1.5 nginx修改配置文件目前方式也会有所不同1.6 介绍下不通格…

互联的代价:量化互联网络的面积开销

无论片内还是片外访存,存储器的访存代价非常大 [1]。因此有非常多的工作放眼在减少 memory access 以提升系统能耗和表现。我将减少访存归类为三种方法:发掘数据复用。如矩阵乘法中输入某个矩阵的某一行/列要多次复用读入,依次可以读取一次之后利用先前读取的结果,这一类方…

docker部署codegeex4实现本地IDE编程助手

实现了使用docker运行的ollama作为VSC或者其他IDE的编程助手,实现本地化的AI推理 环境 debian12 docker ollama 环境配置 ollama 参考 ollama在docker中使用 可以实现在docker中使用ollama支持GPU,但是需要配置Nvidia container toolkit使用指令启动服务 docker run --rm -d --…

云--CloudSchool

www.cloudschool.com

idea--普通项目转换为Maven项目

方法一: 待补。。。 方法二: 1.选中项目2.添加框架3.选择Maven效果图: