Java零基础入门到精通_Day 11

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.mzph.cn/news/831382.shtml

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

相关文章

低代码技术在构建质量管理系统中的应用与优势

引言 在当今快节奏的商业环境中,高效的质量管理系统对于组织的成功至关重要。质量管理系统帮助组织确保产品或服务符合客户的期望、符合法规标准,并持续改进以满足不断变化的需求。与此同时,随着技术的不断进步,低代码技术作为一…

机器学习笔记-14

机器学习系统设计 1.导入 以垃圾邮件分类器为例子,当我们想要做一个能够区分邮件是否为垃圾邮件的项目的时候,首先在大量垃圾邮件中选出出现频次较高的10000-50000词作为词汇表,并为其设置特征,在对邮件分析的时候输出该邮件的特…

计算机网络-408考研

后续更新发布在B站账号:谭同学很nice http://【计算机408备考-什么是计算机网络,有什么特点?】 https://www.bilibili.com/video/BV1qZ421J7As/?share_sourcecopy_web&vd_source58c2a80f8de74ae56281305624c60b13http://【计算机408备考…

在idea中连接mysql

IDE(集成开发环境)是一种软件应用程序,它为开发者提供编程语言的开发环境,通常集成了编码、编译、调试和运行程序的多种功能。一个好的IDE可以大幅提高开发效率,尤其是在进行大型项目开发时。IDE通常包括以下几个核心组…

Docker-Compose编排lnmp(dockerfile) 完成Wordpress

目录 一、创建nginx镜像 二、创建mysql镜像 三、创建php镜像 四、启动wordpress 五、安装Compose 六、准备环境 ​编辑 七、编写docker-compose.yml 八、启动并运行 九、浏览器访问 一、创建nginx镜像 #基于基础镜像 FROM centos:7 #用户信息 MAINTAINER this is ngi…

LabVIEW换智能仿真三相电能表研制

LabVIEW换智能仿真三相电能表研制 在当前电力工业飞速发展的背景下,确保电能计量的准确性与公正性变得尤为重要。本文提出了一种基于LabVIEW和单片机技术,具有灵活状态切换功能的智能仿真三相电能表,旨在通过技术创新提高电能计量人员的培训…

vue初始化项目

打开终端输入vue create project-name 选择Manually select features回车,继续选择如下: 如果要使用pina就可以不选vuex,回车,选择如下: 按下图选即可

BJFUOJ-C++程序设计-实验2-类与对象

A 评分程序 答案&#xff1a; #include<iostream> #include<cstring>using namespace std;class Score{ private:string name;//记录学生姓名double s[4];//存储4次成绩&#xff0c;s[0]和s[1]存储2次随堂考试&#xff0c;s[2]存储期中考试&#xff0c;s[3]存储期…

与 Apollo 共创生态:企业解决方案Apollo X 9.0,七载同舟,携手远航,视频简说

目录 介绍背景方案与项目Apollo 开源项目Apollo X 企业解决方案落地因素助力企业落地流程 预置套件需求定义功能定义场景用例融合技术面向园区功能安全Cyber RT企业硬件套件 开发工具链研发迭代范式协同研发工具链标定工具地图工具仿真平台数据闭环 企业合作模式合作方式 共创计…

挑战一周完成Vue3项目Day4: 用户管理+角色管理+菜单管理+首页+暗黑模式/主题切换

一、用户管理 1.静态搭建 src/views/acl/user/index.vue <template><el-card style"height:80px;"><el-form :inline"true" class"form"><el-form-item label"用户名&#xff1a;"><el-input placehold…

Docker——生产案例(如何修改Docker部署服务的端口映射)

目录 前言 1. 测试环境中新建Apache服务 2.停止容器和Docker服务 3.修改容器配置 4.重启Docker服务并访问测试 前言 由于接替原工作人员的工作之后&#xff0c;上级需要修改Docker部署Apache服务的端口映射&#xff0c;将89端口修改为99端口&#xff0c;那我们该如何修改呢…

JAVA 学习·泛型(二)——通配泛型

有关泛型的基本概念&#xff0c;参见我的前一篇博客 JAVA 学习泛型&#xff08;一&#xff09;。 协变性 泛型不具备协变性 在介绍通配泛型之前&#xff0c;先来看一下下面的例子。我们定义了一个泛型栈&#xff1a; import java.util.ArrayList; class GenericStack<E>…

如何完全卸载QT

第一步&#xff0c;用QT自带的软件卸载QT 第二步&#xff0c;卸载下面路径的所有QT配置 C:用户/(你的用户)/AppData/Local/目录下所有与Qt相关内容 C:用户/(你的用户)/AppData/Local/Temp/所有与Qt相关内容 C:用户/(你的用户)/AppData/Roaming/所有与Qt相关内容

android init进程启动流程

Android系统完整的启动流程 android 系统架构图 init进程的启动流程 init进程启动服务的顺序 bool Service::Start() {// Starting a service removes it from the disabled or reset state and// immediately takes it out of the restarting state if it was in there.flags_…

vue快速入门(五十一)历史模式

注释很详细&#xff0c;直接上代码 上一篇 新增内容 历史模式配置方法 默认哈希模式&#xff0c;历史模式与哈希模式在表层的区别是是否有/#/ 其他差异暂不深究 源码 //导入所需模块 import Vue from "vue"; import VueRouter from "vue-router"; import m…

Hive 表定义主键约束

文章目录 1.建表语句2.主键约束3.主键约束的意义参考文献 1.建表语句 先看一下官方给的完整的见表语句&#xff1a; CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] [db_name.]table_name -- (Note: TEMPORARY available in Hive 0.14.0 and later)[(col_name data…

全新TOF感知RGBD相机 | 高帧率+AI,探索3D感知新境界

海康机器人在近期的机器视觉新品发布会上推出的全新TOF感知RGBD相机,无疑是对当前机器视觉技术的一次革新。这款相机不仅融合了高帧率、轻松集成、体积小巧以及供电稳定等诸多优点,更重要的是,它将AI与3D感知技术完美结合,通过高帧率+AI算法,实现了对不同场景的快速捕捉与…

电脑重装系统ip地址会变吗

在数字化世界中&#xff0c;IP地址就像是每个计算机设备的“门牌号”&#xff0c;它帮助我们在互联网上进行定位和通信。然而&#xff0c;当我们的电脑系统进行重新安装时&#xff0c;许多用户会担心其IP地址是否会发生改变。虎观代理小二将带您深入探讨电脑重装系统后IP地址的…

Android Studio报错:Constant expression required

【出现的问题】&#xff1a; 使用JDK17以上版本&#xff0c;switch语句报错&#xff1a;Constant expression required 【解决方法】&#xff1a; 在gradle.properties配置文件下添加代码&#xff1a; android.nonFinalResIdsfalse 如图&#xff1a; 接着再点击右上角的Sync…

详解 Go 程序的启动流程,你知道 g0,m0 是什么吗?

自古应用程序均从 Hello World 开始&#xff0c;你我所写的 Go 语言亦然&#xff1a; import "fmt"func main() {fmt.Println("hello world.") }这段程序的输出结果为 hello world.&#xff0c;就是这么的简单又直接。但这时候又不禁思考了起来&#xff0…