Java零基础入门到精通_Day 11

news/2024/5/17 20:18:59

1.继承

定义:

继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法

格式:

public class 子类 extends 父类{}

子类:也叫派生类

父类:基类/超类

继承中子类的特点:

子类可以有父类的内容

子类还可以有自己特有的内容

2.继承的利弊

3.继承中变量的访问特点

4.super

5.继承中构造方法的访问特点

6.继承中成员方法的访问特点

7.super的内存图

输出结果

8.方法重写

9.方法重写的注意事项

10. Java中继承的注意事项

11.老师和学生案例

package Base_se.Base_011;public class People {private String name;private int age;public People() {}public People(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
package Base_se.Base_011;public class Teacher extends People {public Teacher() {}public Teacher(String name, int age) {
//        this.name = name;
//        this.age = age;super(name, age); // 继承父类的带参构造方法
//        super();// 继承父类的无参构造方法}public void teach() {System.out.println("教学");}
}
package Base_se.Base_011;public class Demo {public static void main(String[] args) {Teacher t1 = new Teacher();t1.setName("Tom");t1.setAge(12);System.out.println(t1.getName()+","+t1.getAge());t1.teach();Teacher t2 = new Teacher("A",11);System.out.println(t2.getName()+","+t2.getAge());t2.teach();}
}

12.案例猫和狗

package Base_se.Base_011;public class Animal {private String name;private int age;public Animal() {}public Animal(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
package Base_se.Base_011;public class Cat extends Animal{public Cat() {}public Cat(String name, int age) {super(name, age);}public void show(){System.out.println("抓老鼠");}}
package Base_se.Base_011;public class AnimalDEmo {public static void main(String[] args) {Cat c1 = new Cat();c1.setName("Tom");c1.setAge(12);System.out.println(c1.getName()+","+c1.getAge());c1.show();Cat c2 = new Cat("Tina",13);System.out.println(c2.getName()+","+c2.getAge());c2.show();}
}

13. packeage

14. 导包

package Base_se.Base_011.teacher;public class Teacher {public void show(){System.out.println("我是老师");}
}
package Base_se.Base_011.demo;import Base_se.Base_011.teacher.Teacher;public class Demo {public static void main(String[] args) {Teacher tc = new Teacher();tc.show();}
}

15.权限修饰符

16 状态修饰符

17 final 修饰局部变量

package Base_se.Base_011.Final;public class Student {public int age =20;
}
package Base_se.Base_011.Final;public class FinalDemo {public static void main(String[] args) {// 修饰基本类型变量final int age = 20;
//        age =30;System.out.println(age);// 修饰引用类型变量final Student student = new Student();// 被final修饰了 地址不能变 内容(属性和方法)可以变student.age =100;System.out.println(student.age);//        student = new Student(); // 重新给他来个地址 这是很就不行了}
}

18 修饰符 static

package Base_se.Base_011.Stu;public class Student {public String name;public int age;public static String univ;public void show() {System.out.println(name + "," + age + "," + univ);}}
package Base_se.Base_011.Stu;public class StudentDemo {public static void main(String[] args) {// 直接通过类名来访问Student.univ = "TINA";Student student = new Student();student.name = "Tom";student.age = 11;
//        student.univ = "TING";student.show();Student student2 = new Student();student.name = "Toi";student.age = 12;
//        student.univ = "TING";student.show();}
}

19 static 访问特点

package Base_se.Base_011.demo;public class Student {// 非静态成员变量private String name = "Tina";// 静态成员变量private static String univ = "itcast";// 非静态成员方法public void show1() {System.out.println("show");}// 非静态成员方法 可以访问静态和非静态的成员变量和方法public void show2() {System.out.println(name);System.out.println(univ);show1();show3();}// 静态成员方法public static void show3() {}// 静态成员方法 只能访问静态的成员变量和成员方法public static void show4() {
//        System.out.println(name);System.out.println(univ);
//        show1();show3();}
}


http://www.mrgr.cn/p/81065146

相关文章

mit6.828 - lab1笔记

安装环境编译qemu1. PC启动 打开两个窗口,在第一个窗口中 make qemu-gdb,会启动内核,但在执行第一个指令之前停下; 在第二个窗口中make gdb,实时观察第一个窗口中的执行过程。从这里可以观察到:IBM PC 在物理地址 0x000ffff0 开始执行, 位于为 ROM BIOS 保留的 64KB 区域…

一加Ace3/12/Ace2pro手机ColorOS14刷KernelSU内核ROOT-解决无限重启变砖

一加Ace3/一加12/一加11等手机升级了安卓14底层,并且ColorOS版本也更新到了14版本界面和功能都比之前的系统表现更加优秀,但刷机方面,相对之前存在一些差异,特别是KernelSU内核级别root权限,不再支持一键刷入KernelSU通…

混入、插件、插槽、vuex、本地存储

【混入】# mixin(混入)功能:可以把多个组件共用的配置提取成一个混入对象,不需要在每个组件中都写了 使用步骤 。 。 。 【插件】1 # 1 写plugins/index.js2 import Vue from "vue";3 import axios from "axios";4 import hunru from "@/mixin&quo…

Python 语音识别系列-实战学习-语音识别特征提取

Python 语音识别系列-实战学习-语音识别特征提取 前言1.预加重、分帧和加窗2.提取特征3.可视化特征4.总结 前言 语音识别特征提取是语音处理中的一个重要环节,其主要任务是将连续的时域语音信号转换为连续的特征向量,以便于后续的语音识别和语音处理任务…

[PS小技能学习]抠图和切图

详情见视频教程:PS小技巧--抠图与切图 今天我们来学习如何使用PS对表情包合辑进行抠图和裁剪保存 1、首先,将图片导入,双击图层新建一个图层 2、然后点击工具栏的魔棒工具,再点击顶部菜单栏的添加到选区 3、点击图片的空白区域即…

Linux进程

程序与进程 程序:是可执行文件,其本质是是一个文件,程序是静态的,同一个程序可以运行多次,产生多个进程 进程:它是程序的一次运行过程,当应用程序被加载到内存中运行之后它就称为了一个进程,进程是动态的,进程的生命周期是从程序运行到程序退出 父子进程:当一个进程A…

RISC-V SoC研发flow的总结

RISC-V SoC研发flow的总结 今年的流片接近尾声了,我个人的评价是相比去年,在进度管理和流程管理上做的更好了一些。对比今年一月份开会时开会的PPT,基本上当时的规划和目标基本上都达成了。这次聊聊整个研发过程中的一些感悟。 首先是对于整个团队的研发方向做了一个比较大的…

es环境安装及php对接使用

Elasticsearch Elasticsearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的…

golang初学:交叉编译

go version go1.22.1 windows/amd64 Windows 11 + amd64 x86_64 x86_64 GNU/Linux ---序章 golang 支持 跨平台,支持的方式 是 在一个平台 编译其它平台的可执行程序。 本文 介绍 Windows 11(开发主机) 上 编译 Linux(目标主机) 上的可执行程序。#go build开发主机 和 目标…

DRF之三大认证

一、认证 1、自定义认证 在前面说的 APIView 中封装了三大认证,分别为认证、权限、频率。认证即登录认证,权限表示该用户是否有权限访问接口,频率表示用户指定时间内能访问接口的次数。整个请求最开始的也是认证。 (1)需求登陆认证 用户登陆成功--》签发token 以后需要登陆…

外包干了3天,技术就明显退步了。。。。。

先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

Vue入门到关门之Vue项目工程化

一、创建Vue项目 1、安装node环境官网下载,无脑下一步,注意别放c盘就行Node.js — Run JavaScript Everywhere (nodejs.org)需要两个命令npm---->pip node--->python装完检查一下,hello world检测,退出crtl+c2、搭建vue项目环境装cnpm 这个包,下载东西会快很多,装模…

QT 开发COM(ActiveX)组件基础介绍和方案验证

一、COM简介 1.1 COM是什么? COM,Component Object Model,即组件对象模型,是一种以组件为发布单元的对象模型,这种模型使各软件组件可以用一种统一的方式进行交互。COM 既提供了组件之间进行交互的规范,也…

BIO、NIO与AIO

文章目录 一 BIO同步阻塞案例BIO模式消息多发多收实现 二 NIONIO核心组件Buffer(缓冲区)Buffer常见方法缓冲区的数据操作直接内存与非直接内存 Channel(通道)channel常用操作 Selector(选择器)selector选择器处理流程NIO非阻塞式网络通信原理分析 NIO网络编程实现群聊系统服务端…

第6讲需求分析--uml用例图

用例图 一.识别参与者 参与者在系统外所以画图时画在框外。系统用例图比业务用例图更完善所以经常让画的是系统用例图。在商品销售系统里:参与者是顾客。 在会计系统里:参与者是商品销售系统。 二.关系 1.参与者之间 泛化关系子指向父 2.参与者和用例之间 关联关系3.用例和用…

AI大模型探索之路-训练篇10:大语言模型Transformer库-Tokenizer组件实践

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

认知提升的方法

认知提升的方法一、什么是认知 经验是对于过往经历的总结归纳,当把这种经验传授给别人时,这种经验对别人来说就是知识。所以,知识是人脑对客观事物的信息沉淀。 技能是人们通过练习而获得的动作方式和系统,例如操作技能中的PS技术、木工技术、电工技术、水工技术等,而能力…

万兴PDF专家 PDFelement Pro v10.3.8 破姐版!

🧑‍💻万兴PDF专家 PDFelement Pro v10.3.8 破姐版 (https://docs.qq.com/sheet/DRVVxTHJ3RXJFVHVr)

QBXT五一集训DAY1笔记

\(Day 1\) \(ASCII\) 简单来说,\(ASCII\) 其实就是字符与数字之间的映射 比如说,\(a\) 的 \(ASCII\) 就是 \(97\) 模运算:% 来复习一下小学数学:\(a/b=c……d\) 这里的\(d\) 就是 \(a\) 除以 \(b\) 的余数,在计算机中,用%来表示 通过这个式子,我们进而得出 \(a=b*c+d\) …

POETIZE个人博客系统源码 | 最美博客

源码介绍 POETIZE个人博客系统源码 | 最美博客 这是一个 SpringBoot Vue2 Vue3 的产物,支持移动端自适应,配有完备的前台和后台管理功能。 网站分两个模块: 博客系统:具有文章,表白墙,图片墙&#xf…