JAVA全面基础知识(第七部分)

大家好我是程序员阿存,混迹在java圈的辛苦码农。今天要和大家聊的是一款,项目源码以及部署相关请联系存哥,文末附上联系信息 。

这篇文章给大家分享的是JAVA的基础知识,

💕💕作者:程序员阿存
💕💕个人简介:混迹在java圈5年有余,擅长Java、微信小程序、Python、Android等。
💕💕各类成品java毕设 。

💕💕javaweb,ssh,ssm,springboot等等项目框架,源码丰富,欢迎咨询。

💕💕学习资料、程序开发、技术解答、代码讲解、文档报告、项目部署。

💕💕项目部署或其他请看文末联系方式。

继承的细节:

什么时候使用继承呢?

当类与类之间存在着所属关系时,才具备了继承的前提。a是b中的一种。a继承b。狼是犬科中的一种。

英文书中,所属关系:" is a "

注意:不要仅仅为了获取其他类中的已有成员进行继承。

所以判断所属关系,可以简单看,如果继承后,被继承的类中的功能,都可以被该子类所具备,那么继承成立。如果不是,不可以继承。

细节二:

在方法覆盖时,注意两点:

1:子类覆盖父类时,必须要保证,子类方法的权限必须大于等于父类方法权限可以实现继承。否则,编译失败。

2:覆盖时,要么都静态,要么都不静态。 (静态只能覆盖静态,或者被静态覆盖)

继承的一个弊端:打破了封装性。对于一些类,或者类中功能,是需要被继承,或者复写的。

这时如何解决问题呢?介绍一个关键字,final:最终。

final特点:

1:这个关键字是一个修饰符,可以修饰类,方法,变量。

2:被final修饰的类是一个最终类,不可以被继承。

3:被final修饰的方法是一个最终方法,不可以被覆盖。

4:被final修饰的变量是一个常量,只能赋值一次。

其实这样的原因的就是给一些固定的数据起个阅读性较强的名称。

不加final修饰不是也可以使用吗?那么这个值是一个变量,是可以更改的。加了final,程序更为严谨。常量名称定义时,有规范,所有字母都大写,如果由多个单词组成,中间用 连接。

抽象类: abstract

抽象:不具体,看不明白。抽象类表象体现。

在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法。

抽象方法所在类一定要标示为抽象类,也就是说该类需要被abstract关键字所修饰。

抽象类的特点:

1:抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量)。

2:抽象方法只定义方法声明,并不定义方法实现。

3:抽象类不可以被创建对象(实例化)。

4:只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。

抽象类的细节:

1:抽象类中是否有构造函数?有,用于给子类对象进行初始化。

2:抽象类中是否可以定义非抽象方法?

可以。其实,抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,有些功能不具体。所以抽象类和一般类在定义上,都是需要定义属性和行为的。只不过,比一般类多了一个抽象函数。而且比一般类少了一个创建对象的部分。

3:抽象关键字abstract和哪些不可以共存?final , private , static

4:抽象类中可不可以不定义抽象方法?可以。抽象方法目的仅仅为了不让该类创建对象。

更多项目: 

另有1000+份项目源码,项目有java(包含springboot,ssm,jspm等),小程序,python,php,net等语言项目。项目均包含完整前后端源码,可正常运行!

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

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

相关文章

哪里下载短视频素材?推荐几个短视频素材下载网站

当短视频行业的迅速崛起,剪辑影视短片的魅力无法抗拒,越来越多朋友爱看短视频,但从哪里找到高清、无水印和无字幕的短视频素材呢?今天,我将为大家推荐几个可获取短视频素材的优秀网站,下面让我们一起去看看…

ftl简单demo

包含&#xff1a; 遍历列表、获取列表长度、判断语句 <!DOCTYPE html> <html lang"en" xmlns"http://www.w3.org/1999/html"><head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible" content&qu…

python界面开发 - filedialog 文件选择对话框

文章目录 1. Tkinter 开发2. filedialog 文件选择对话框3. python图形界面开发3.1. Python图形界面开发——Tkinter3.2. Python图形界面开发——PyQt3.3. Python图形界面开发——wxPython3.4. Python图形界面开发—— PyGTK&#xff1a;基于GTK3.5. Python图形界面开发—— Kiv…

ImGui::SetWindowFontScale 设置局部字体大小

在ImGui中&#xff0c;ImGui::Text 是一个常用的控件&#xff0c;用于显示文字。它会根据当前的字体设置自动调整文本的大小。如果你想手动控制文本的大小&#xff0c;可以使用 ImGui::SetWindowFontScale 函数&#xff0c;该函数允许你在窗口中设置特定的字体缩放比例。 以下…

吴恩达机器学习-可选实验室:逻辑回归(Logistic Regression))

在这个不评分的实验中&#xff0c;你会探索sigmoid函数(也称为逻辑函数)探索逻辑回归;哪个用到了sigmoid函数 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from plt_one_addpt_onclick import plt_one_addpt_onclick from lab_utils_common impor…

2024最新版使用PyCharm搭建Anaconda

2024最新版使用PyCharm搭建Anaconda 因为pycharm自带的包不全&#xff0c;或者下载的时候比较慢&#xff0c;所以我们直接用anaconda的包&#xff0c;毕竟我们以后还会学到很多的包&#xff0c;不多说&#xff0c;直接开干&#xff01; 一、下载Pycharm、Anacoda pycharm中文网…

基于若依的ruoyi-nbcio流程管理系统中自定义业务流程发布动态更新业务流程关联信息

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a; https://gitee.com/nbacheng/n…

代码随想录-动态规划5(1049. 最后一块石头的重量 II、494. 目标和、474. 一和零)

1049. 最后一块石头的重量 II class Solution { public:int lastStoneWeightII(vector<int>& stones) {int target 0;int flag 0;for (int i0; i<stones.size();i){target stones[i];}vector<int> dp(target/21, 0);for (int i0; i<stones.size();i)…

信息系统三级等保安全解决方案(46页Word)

1、系统定级与安全域 2、实施方案设计 3、安全防护体系建设规划 软件开发全系资料分享下载&#xff1a;软件项目开发全套文档下载_软件开发文档下载-CSDN博客

安全防御第七次作业

拓扑图如图所示&#xff1a; 问题&#xff1a;在FW7和FW8之间建立一条IPSEC通道保证10.0.2.0/24网段 可以正常访问到192.168.1.0/24 注&#xff1a;基础配置我在此省略了 一、NAT配置 FW4&#xff1a; FW6&#xff1a; 二、在FW4上做服务器映射 三、配置IPSEC FW5&#xff…

MessAuto-让验证码提取更加丝滑

专注于web漏洞挖掘、内网渗透、免杀和代码审计&#xff0c;感谢各位师傅的关注&#xff01;网安之路漫长&#xff0c;与君共勉&#xff01; MessAuto MessAuto 是一款 macOS 平台自动提取短信和邮箱验证码到粘贴板的软件&#xff0c;由Rust开发&#xff0c;适用于任何APP 下面展…

这个简历你给几分?

求大家给给建议&#x1f62d;&#x1f62d; 自己算法几乎没刷过&#xff0c;项目也不咋好 打算21号开始投日常实习 好慌

MySQL将两条记录根据相同条件合并

知识点&#xff1a;在MySQL中&#xff0c;可以使用GROUP BY子句和聚合函数如CONCAT或CONCAT_WS来将多条记录基于相同条件合并为一条记录 【主要是GROUP_CONCAT这个函数的运用】 例如将员工信息表中相同门店的员工信息合并为一条记录 MySQL语句如下&#xff1a; SELECT dept_…

Flask python 开发篇:项目布局

一、背景简介 Flask应用程序可以像单个文件一样简单。就像上一篇简单实现一个接口一样&#xff0c;所有的东西都在一个python文件内&#xff1b; 然而&#xff0c;当项目越来越大的时候&#xff0c;把所有代码放在单个文件中就有点不堪重负了。 Python 项目使用 包 来管理代码…

Oracle将归档日志从 ASM 拷贝到 Linux 文件系统中操作步骤

Oracle–将归档日志从 ASM 拷贝到 Linux 文件系统中操作步骤 适用场景&#xff1a; 备份出现问题&#xff0c;ASM 中归档日志磁盘组空间不足&#xff0c;暂时无法扩容&#xff0c;数据库不可用。 操作前提&#xff1a; 可以备份情况下&#xff0c;先备份之后直接清理日志文件…

windows server 2019 服务器配置的方法步骤

一、启用远程功能二、测试三、解决多用户登录的问题 一、启用远程功能 右键点击【此电脑】–【属性】&#xff0c;进入“【控制面板\系统和安全\系统】”&#xff0c;点击-【远程设置】(计算机找不到就使用【winE】快捷键) 2、在“远程桌面”下方&#xff0c;点击【允许远程连…

Power Shell中更改策略以确保复杂的脚本能够顺利执行?

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy -ExecutionPolicy RemoteSigned Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 是一个在 Windows PowerShell 中使用的命令&#xff0c;它用于设置 PowerShell 脚本的执行策略。这个命令对你如何…

【MySQL】1.在Centos 7上如何卸载/安装/配置MySQL(保姆级教程)

MySQL 在 Centos 7环境安装 说明&#xff1a; • 安装与卸载中&#xff0c;用户全部切换成为root&#xff0c;⼀旦安装&#xff0c;普通用户能使用的 • 初期练习&#xff0c;mysql不进行用户管理&#xff0c;全部使用root进行&#xff0c;尽快适应mysql语句&#xff0c;后⾯学…

联想小新电脑出现蓝屏问题解决(暂时没有解决)

电脑出现蓝屏&#xff0c;如下 搜索FAULTY_HARDWARE_CORRUPTED_PAGE寻找解决方案&#xff0c;找到较为靠谱的文章&#xff1a;记录蓝屏问题FAULTY_HARDWARE_CORRUPTED_PAGE 根据文章提示找到官方解答&#xff1a;Bug 检查 0x12B&#xff1a;FAULTY_HARDWARE_CORRUPTED_PAGE&…

C++的萃取技术

一、什么是traits 在《模板类型的自动推导》中提到了c是一门静态编译语言&#xff0c;不支持动态类型的获取&#xff0c;也就更不用说提供类似c#&#xff0c;Java等语言的反射机制。但是&#xff0c;没有类型获取的接口不代表没有这种实际的需求&#xff0c;那么怎么解决这种需…