JavaSE继承

1、继承

关键字:extends

继承的作用:多态前提条件,提高代码复用率

继承的缺点:

  1. 父类中私有的属性和方法,子类是无法使用的

  2. 在java中只支持单继承,不支持多继承,但是可以支持多重继承

  3. 继承后子父类的关系就接合得非常的紧密,不利于程序的扩展,从而减少了程序的灵活性。

  4. 父类无法访问子类的属性和方法

继承语法格式:

class sonName extends fatherName { }

1.1方法重写

子类中的方法和父类中的方法名称相同,并且参数列表也相同,则称为方法重写

方法重写的特点:

  1. 方法名称必须相同

  2. 方法的参数列表必须相同

  3. 子类方法的访问修饰符必须大于或等于父类访问的访问修饰符

  4. 子类方法的返回值类型要么与父类方法的返回值类型相同,要么是父类访问返回值类型的子类

  5. 如果父类方法没有抛异常,那么子类方法绝对不能抛异常;如果父类方法抛出了异常,子类可以不抛异常,也可抛出父类异常的子类

  6. 发生在子父类中

方法重写是多态的另一个前提

1.2 super关键字

作用:用于子类调用父类中的属性或方法

如果它是调用父类中的构造器方法,那么它必须是子类构造方法的第一句

class Animal {private String name;private int age;public Animal() { }public Animal(String n, int a) {name = n;age = a;}
}class Dog extends Animal {private String color;public Dog() { }public Dog(String n, int a, String c) {super(n, a); // 调用父类的构造方法color = c;}
}

1.3 this 关键字

作用:就近原则

  • 调用本类中的构造方法,如果是调用本类中的构造方法,那么它也必须是第一行
  • 调用对象中的属性和方法

注意:在调用本类构造器时,必须要有一个出口

class Cat {public String name;public int age;public String color;public Cat() {System.out.println("无参构造器被调用了。。。。。");}public Cat(String n) {this();System.out.println("这是有一个name的构造器被调用了......");}public Cat(String n, int a) {this(n);System.out.println("调用了name和age的构造器.....");}public Cat(String n, int a, String c) {this(n, a);System.out.println("这是调用了name、age以及color的构造器......");}public static void main(String[] args) {Cat cat = new Cat("小花", 2, "白色");}
}
    public void show() {}public void say() {this.show();}

1.4 final关键字

作用:不可修改

如果final修饰的是类,那么这个类就不能有子类,也就是说它不能被继承。

如果final修饰的是属性,那么这个属性就是常量,通常会和 static 关键字一起使用。

如果final修饰的是方法,那么这个方法就不能被重写。

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

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

相关文章

Sylar C++高性能服务器学习记录12 【IO调度模块-代码分析篇】

早在19年5月就在某站上看到sylar的视频了,一直认为这是一个非常不错的视频。 由于本人一直是自学编程,基础不扎实,也没有任何人的督促,没能坚持下去。 每每想起倍感惋惜,遂提笔再续前缘。 为了能更好的看懂sylar&…

【多电压流程 Multivoltage Flow】- 5.特定工具使用建议(5.使用ICC II以及FC进行物理实现)

使用IC Compiler II和Fusion Compiler进行物理实现 在完成带有行站点、电源规划和I/O放置的floorplan之后,可以继续进行物理综合和实现。Fusion Compiler提供了广泛的功能,以执行设计的平面物理实现。 图67显示了物理实现流程的一般步骤以及流程的低功耗支持特性。 图67 I…

Elasticsearch框架学习的难点和重点有哪些

Elasticsearch是一个基于Lucene构建的开源搜索引擎,广泛用于全文检索、日志数据分析等多种应用场景。由于其强大的搜索能力、灵活的扩展性和丰富的功能特性,Elasticsearch在数据分析和搜索领域非常受欢迎。V哥认为学习Elasticsearch主要包括以下几个难点…

极度内卷,消费下行,AIGC如何成为普通人易变现好上手的新机会,这几种方法一定要尝试!

最近看到一个麦肯锡报告,说到2030年,AI会替代1亿多中国人的岗位。 暂且不说这个预测是否准确,但自从AI横空出世,确实给我们的生活带来了翻天覆地的变化,有人顺势起飞,有人被时代淘汰… 李开复也曾不止一次…

47-Qt控件详解:Buttons Containers1

一 QPushButton (命令按钮) #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #include <QPushButton>//引入QPushButton类对应的头文件class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWindow(QWidget *parent nullptr);~MainWind…

如何评估大型语言模型(LLM)?

01 简介 Introduction 随着ChatGPT和其他大型语言模型&#xff08;LLMs&#xff09;的发布&#xff0c;可用模型数量大量增加&#xff0c;现在几乎每天都有新的LLMs发布。尽管如此&#xff0c;当下仍然没有一个通用的标准来评估这些大型语言模型的质量。本文将回顾现有的大型语…

振弦式表面式应变计有哪些功能优势

振弦式表面应变计是一种高精度的测量工具&#xff0c;专门用于测量材料表面的应变和位移。它通过监测材料表面的微小变化&#xff0c;帮助工程师获得关键的结构性能数据。振弦式表面应变计因其独特的功能优势&#xff0c;在众多领域尤其是在结构健康监测中&#xff0c;发挥着不…

卡尔曼滤波状态估计

clear all; close all; clc; %% 上面是调用卡尔曼滤波 % 定义状态维数和初始条件 n 3; % 状态维数 q 0.2; % 过程噪声标准差 r 0.15; % 测量噪声标准差 Q q * eye(n); …

vite配置别名@时遇到错误【Dynamic require of “path“ is not supported 】

遇到的问题 vite项目中配置别名的时候&#xff0c;使用 const path require("path") 的形式引入path的时候提示错误&#xff1a; failed to load config from C:\Users\Administrator\Desktop\zss\note\demo\demo\vite.config.js 10:30:31 [vite] Dynamic require…

Oracle如何收缩减小表空间大小

比如我们发现一个表空间占用比较大&#xff0c;但是空闲空间很大&#xff0c;想要减小表空间占用大小。查看表空间的情况 发现BETEST表空间占用大&#xff0c;但是剩余大小比较大&#xff0c;可以减小存储占用。 如果我们想减小到100MB&#xff0c;那么就登录其用户执行&#…

UDP怎么端口映射?

在网络通信中&#xff0c;TCP和UDP是两种常用的传输协议。UDP&#xff08;User Datagram Protocol&#xff09;是一种无连接的传输协议&#xff0c;相较于TCP协议来说&#xff0c;它更为轻量级且不可靠。UDP协议在某些场景下仍然有其独特的优势&#xff0c;尤其是在需要快速传输…

足球知识付费系统下载,教育后半场,创业公司如何突围?

伴随着资本寒冬&#xff0c;企业用人成本高企&#xff0c;市场竞争环境半垄断半割据&#xff0c;“找人、找钱、找方向”对于初创企业来说无疑都难上加难。 在这种环境下&#xff0c;北极光创投创始人、董事总经理邓锋说&#xff1a;虽然面临诸多挑战&#xff0c;但相信新的机会…

每天一个数据分析题(三百一十二)-业务分析模型

理解业务分析模型能够更好的把握业务全局&#xff0c;以下可以用来对产品分类的模型是&#xff1f; A. RFM模型 B. 用户贡献价值模型 C. 波士顿矩阵 D. 销售漏斗模型 数据分析认证考试介绍&#xff1a;点击进入 题目来源于CDA模拟题库 点击此处获取答案

高端手机格局再生变数,华为赋魅、苹果祛魅

历经二十多年发展&#xff0c;智能手机产业链高度成熟&#xff0c;消费者换机需求疲软&#xff0c;智能手机厂商艰难创新&#xff0c;市场存量竞争早已进入白热化阶段。 在消费侧&#xff0c;消费者换机周期不断延长&#xff0c;智能手机赛道进入增长疲软期。研究机构TechInsi…

JavaScript 工具函数(分享)

文章目录 1. 任意区间的的随机数2. 判断一个数是不是质数3. 传入指定 key 返回当前页面 search 的 value&#xff0c;也可以手动传入url4. 在 Date 上封装了一个返回指定格式的方法5. 数组去重6. 预览pdf&#xff0c;后端返回的文件流设置的只能下载&#xff0c;需要预览7. 下载…

速盾:jquery是用cdn快,还是保存本地快?

在讨论jQuery是使用CDN快还是保存本地快之前&#xff0c;我们先来了解一下jQuery是什么。 jQuery是一种流行的JavaScript库&#xff0c;它极大地简化了JavaScript编程&#xff0c;使得开发者能够更轻松地操作HTML文档、处理事件、实现动画效果以及处理AJAX请求。由于其简单易用…

Spring:Spring Boot常用注解大全

Spring Boot是一个由Pivotal团队提供的全新框架&#xff0c;其设计目的是用来简化新Spring应用的初始搭建以及开发过程。以下是对Spring Boot的详细介绍&#xff1a; 一、发展沿革   2013年&#xff0c;Pivotal团队开始研发Spring Boot。   2014年4月&#xff0c;发布了全…

各渠道应用推广点击上报文档地址

小米点击上报&#xff1a;https://api.e.mi.com/doc.html#/1.0.0-mdtag9b26f-omd/document-2bd1c4c260259b072818205a8ae20139 荣耀点击上报&#xff1a;https://ads.honor.com/help/1738095811504373761

python print用

Python中的print()函数是最常用的一个内置函数&#xff0c;用来向标准输出设备&#xff08;通常是屏幕&#xff09;发送文本或其他类型的对象。从Python初学者到高级开发人员&#xff0c;print()函数是编写程序时不可或缺的一个工具。本文旨在深入探讨print()函数的不同用法和技…

[每周一更]-(第96期):Rsync 用法教程:高效同步文件与目录

文章目录 一、引言二、rsync 基本概念三、介绍rsync 是什么&#xff1f;四、安装五、rsync 基本语法常见示例&#xff08;默认ssh协议&#xff09;&#xff1a; 六、常用选项1. -a 或 --archive2. -v 或 --verbose3. -z 或 --compress4. --delete5. --exclude6. --exclude-from…