抽象java入门1.5.3.2——类的进阶(中)

news2025/1/14 0:51:05
前期回顾:抽象java入门1.5.3.1——类的进阶icon-default.png?t=O83Ahttps://blog.csdn.net/c_yanxin_ru/article/details/140858898?spm=1001.2014.3001.5501
总结:
在代码溯源中,我发现了一个奇怪的东西,就是OUT不是类中类(不是常规类的写法)

问题:OUT究竟是什么,是什么机制

简单判断,目前可以验证的两条完全没有问题!

第一:这个out可以被访问,可以说明它的访问权限是公共——public关键词没问题

第二:类可以直接调用,可以说明它带有——static关键词没问题

zhengpian(正片)

在前面的内容中,我们将类和对象进行了一个区分

类(class)、类方法(static function)

对象(object)、对象方法(obj function)

类是如何构造对象并使用对象方法的

在那条代码上,并没有使用new关键字(预留标识符)去构建对象,根据理论(公式)

不是对象就是类,这明显是一个类,然后我们找到源码

新知识

第一个:新的修饰符

第二个: instantiate(实例化)

第三个:新的构造函数方法

第四个:java文件(带过,要不然内容太多了)

先看到第一句代码 public final class system { }

《不是名义上的第一句,是我们需要看的第一句》

公式

权限修饰符 : public private

类修饰符:class

类函数修&变量饰符:static

作用域:{}

形参:()

标识符(变量、预留标识符、关键字、类名等等)

公式的使用

public final class system { }

public 权限修饰符中的公共权限修饰符

final 尚未添加的无名修饰符

class 类修饰符

system 标识符

{} 作用域

公共权限修饰符 + 无名修饰符 + 类修饰符 + 标识符 + 作用域 —— 组成了语句一

标识符相比大家可能是第一次听

复习(小课堂)时间

先来一个爆论,标识符 = 实例化 = 量 = 数学(不是指描述的内容)

它们都有一个共同的特定,它们之下可以具体划分成很多内容

第一个要讲的就是数学,123456是里面的,加减乘除基本运算符是里面的,函数是里面的

第二个要讲的就是量,量可以分为常量,变量

第三个要讲的就是实例化,它包括了类,公共权限构造函数,对象

第四个就是本次的重点,它可以细分为预留标识符我们统称说的关键词,函数名,变量名,常量名,等等,只要是名都可以统称为标识符

如果把标识符定义拿出来,你会发现,这家伙不就是变量名吗?不就是函数名吗?

定义:以下划线_,字母,数字组成,不能以数字开头,不能是关键词(预留标识符)

不就是变量名的定义吗?函数名的定义吗?有一些高大上的词语,其实学会后也就没觉得高大上了,标识符这个名词听着,没有细学的,一上来就要被你唬住。但是呢,把定义说完,一瞬间,B格掉了一半《不就是一个变量名吗,叫这么专业

用专业的话来说(不是很专业,人话有东西但不多),标识符就和我们的文字一样,我们是怎么理解语句的,通过文字

我有一个苹果,试着理解一下这句话

.

.

.

.

.

.

你可能的理解:《作者手里有一个苹果》,《作者有一个苹果》,《这人吃苹果》

我这个字,文描述的是第一视角

但是在读者眼里,我这个字,文自动的变成了作者,是不是,要不然你怎么知道作者有一个苹果呢

用语文里的内容,读者读的这句话叫陈述句

我们每次在使用字的时候,会自动地去调用文

每次在使用标识符的时候,会自动去地调用定义,像不像

这里可以配合上《类的进阶上中的内容·流程控制中的顺序结构》

计算机在运行的时候,每一个标识符是怎么运行的?

先看到标识符,然后进到对应的数据库里(函数库或者jar包里)读出对应的定义

一条语句里中,我们可以理解成,它全都是由标识符组成,其中的定义会自动去寻找,当然怎么寻找这里会涉及到新知识中的第四点,本期不做过度分析

第一个新内容

说了这么多废话,核心问题final这个标识符(预留标识符、关键词)在这句语句中是什么定义

官方的定义有三种:

        > 修饰变量

        > 修饰符类

        > 修饰符函数

那么我们首要解决的问题是,public final class system {} 是什么语句,又到了我们公式发力了,没有(),意味着不是函数,它还带有class这个类修饰符,说明system是一个类,完美

公式

函数公式,因为没有修改,这里的类修饰符更具体点叫类函数修&变量饰符

final的定义就出来了:表示该类是无法被任何其他类继承的,意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。

翻译一下,这个类以及加入了进化,进化到最终形态了,jojo,不做人拉

而且final在做形容词时,可以翻译成:最终的;最后的

我们就可以清晰的知道了final修饰类的时候,这个类具有什么属性了,无法继承,最后一代,生不出儿子。。。生不出儿子确实是最后一代。。。没毛病

第二个新内容

看到这句

Don't let anyone instantiate this class 

不要让任何人实例化这个类

private system

《实例化》

这是一个熟悉又陌生的词,本系列文章中第一次出现,熟悉在哪?

实例化:用类创建对象的过程称为实例化

具体点就是:类,通过构造函数,去构造对象的一个完整过程

熟悉是因为,作者总是隐藏了一个前提,那就是只有类才能产生对象,在不了解这个前提下,你会觉得很陌生

实例化我们知道了,是类通过构造函数生成对象的过程

去实例化呢?

你有没有想法呢?

通过最简单的语言去描述

Q:删除

A:在没有写的时候,java编译器会自动生成一个公共权限修饰符修饰的构造函数

Q:不让其他人能用

A:嗯,用什么手段呢?

Q:我知道权限修饰符可以让别人访问到,还知道一个叫private的私人权限

A:那答案是不是明了

哦,原来我们可以修改构造函数的权限来做到限制,那是不是意味着函数也可以这么做,变量也可以这么做,变量、函数,那可被权限修饰符修饰标识符都可以通过去修改权限去限制

抽象出来的其实是一个权限修饰符的新用法,而不是instantiate实例化

我们来一个小测试,代码如下

按理论,我们是无法使用构造函数,去构造对象的,看报错了

图下是公共访问权限

举一反三试试,变量,用这个是因为可以省去构造一个对象

运行代码

换成私人访问权限

直接报错

理论可行 —— 理论为:限制外人使用,可以修改权限,当然其实是私人访问权限的本质

官方jar包,自己的两个小测试均成功了

补充(量)

字段,这一概念早在之前就已经涉及了但是因为没有用到也就自然跳过了,现在出现了,那就给它补充完整!

字段这一词和变量,常量,各种乱七八糟的量有共同的描述内容——即元素——代词(量),如图

发现一个细节没,字段,常量,变量的大小,这里指的是描述的内容

量最大,其次变量,常量,最小的字段

量描述的是一切

这一切里面又可以分为三大类——常量,变量,未知量

字段?补充一个前提

量代称字段,简单点,量名中的名就是字段,那它不是最大吗?

内容是比较它们大小的元素,而名只是个代词,不对大小进行描述

public static final PrintStream out = null;


PrintStream out 

//out 类型为PrintStream的字段名out

为了以后我们的文章统一将变量名,常量名统称为——某某类型的字段名为xxx

Q:字段名有啥用呢?

A:这就不得不提及到不一样java入门的核心了,编程语言的发展无限趋近于自然语言

用字典就能让你知道字段名有什么用,这就和官方提供的API接口文档一样,一个词对应解释,还能减少多余的容错

核心问题,还未解决,敬请期待

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

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

相关文章

题解 洛谷 Luogu P1873 [COCI 2011/2012 #5] EKO / 砍树 二分答案 C/C++

题目传送门: P1873 [COCI 2011/2012 #5] EKO / 砍树 - 洛谷 | 计算机科学教育新生态https://www.luogu.com.cn/problem/P1873思路: 很简单的二分答案 每次找区间中点 m,判断以 m 为高度砍下的木头是否够 h 即可 代码: #defin…

蓝桥杯第22场小白入门赛2~5题

这场比赛开打第二题就理解错意思了,还以为只能用3个消除和5个消除其中一种呢,结果就是死活a不过去,第三题根本读不懂题意,这蓝桥杯的题面我只能说出的是一言难尽啊。。第四题写出来一点但是后来知道是错了,不会正解&am…

PyQt天天酷跑游戏(附下载地址)

欢迎下载体验! 文件大小:25.7 M 下载地址:链接:https://wwrr.lanzoul.com/ifOvc2fe163c 观看演示视频~ Pyqt-跑酷游戏 一.前言 天天酷跑大家都玩过吧,这是我们学生时代的回忆,目前这款游戏还…

跨平台WPF框架Avalonia教程 十五

ListBox 列表框 列表框从元素源集合中显示多行元素,并允许选择单个或多个。 列表中的元素可以组合、绑定和模板化。 列表的高度会扩展以适应所有元素,除非特别设置(使用高度属性),或由容器控件设置,例如…

python蓝桥杯刷题2

1.最短路 题解:这个采用暴力枚举,自己数一下就好了 2.门牌制作 题解:门牌号从1到2020,使用for循环遍历一遍,因为range函数无法调用最后一个数字,所以设置成1到2021即可,然后每一次for循环&…

基于YOLOv8深度学习的独居老人情感状态监护系统(PyQt5界面+数据集+训练代码)

本研究提出了一种创新的独居老人情感状态监护系统,基于YOLOV8深度学习模型,旨在通过对老年人面部表情的实时监测与分析,来精准识别其情感变化,从而提高独居老人的生活质量,确保其心理健康。本系统通过整合先进的YOLOV8…

基于SSM的农家乐管理系统+论文示例参考

1.项目介绍 功能模块:管理员(农家乐管理、美食信息管理、住宿信息管理、活动信息、用户管理、活动报名、论坛等),普通用户(注册登录、活动报名、客房预订、用户评价、收藏管理、模拟支付等)技术选型&#…

小米顾此失彼:汽车毛利大增,手机却跌至低谷

科技新知 原创作者丨依蔓 编辑丨蕨影 三年磨一剑的小米汽车毛利率大增,手机业务毛利率却出现下滑景象。 11月18日,小米集团发布 2024年第三季度财报,公司实现营收925.1亿元,同比增长30.5%,预估902.8亿元;…

【环境搭建】使用IDEA远程调试Docker中的Java Web

有时候要对Docker的Java Web远程调试其功能,于是就需要使用IDEA的远程调试功能,记录一下简单配置方法。 以Kylin4.0.0为例,首先拉取镜像并启动容器: $ docker pull apachekylin/apache-kylin-standalone:4.0.0$ docker run -d \-…

【AI图像生成网站Golang】项目架构

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构 五、图床上传与图像生成API搭建 六、项目测试与调试(等待更新) 四、项目架构 本项目的后端基于Golang和Gin框架开发,主要包括的模块有: backend/ ├── …

Centos7安装Jenkins脚本一键部署

公司原先Jenkins二进制安装,自己闲来无事在测试主机优化了一下,一键部署,jenkins2.426版本jdk11版本 #!/bin/bashjenkins_file"jenkins-2.426.3-1.1.noarch.rpm"# 更新软件包列表 echo "更新软件包列表..." sudo yum up…

【WPF】Prism学习(五)

Prism Commands 1.错误处理(Error Handling) Prism 9 为所有的命令(包含AsyncDelegateCommand)提供了更好的错误处理。 避免用try/catch包装每一个方法根据不同遇到的异常类型来提供特定的逻辑处理可以在多个命令之间共享错误处…

Ubuntu 18.04 配置sources.list源文件(无法安全地用该源进行更新,所以默认禁用该源)

如果你 sudo apt update 时出现诸如 无法安全地用该源进行更新,所以默认禁用该源 的错误,那就换换源吧,链接: https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/ 注意版本: 修改源文件: sudo nano /etc…

C++ —— 剑斩旧我 破茧成蝶—C++11

江河入海,知识涌动,这是我参与江海计划的第2篇。 目录 1. C11的发展历史 2. 列表初始化 2.1 C98传统的{} 2.2 C11中的{} 2.3 C11中的std::initializer_list 3. 右值引用和移动语义 3.1 左值和右值 3.2 左值引用和右值引用 3.3 引用延长生命周期…

04 - Clickhouse-21.7.3.14-2单机版安装

目录 一、准备工作 1、确定防火墙处于关闭状态 2、CentOS 取消打开文件数限制 3、安装依赖 4、CentOS取消SELINUX 二、单机安装 2.1、下载安装 2.2、安装这4个rpm包 2.3、修改配置文件 2.4、启动服务 2.5、关闭开机自启 2.6、使用Client连接server 一、准备工作 1…

STM32设计学生宿舍监测控制系统-分享

目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 电路图采用Altium Designer进行设计: 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 本项目旨在利用STM32单片机为核心,结合传感器技术、无线通信技…

macOS 的目录结构

文章目录 根目录 (/)常见目录及其用途示例目录结构注意事项根目录 (/)主要目录及其含义其他目录总结 macOS 的目录结构无论是在 Intel 架构还是 ARM 架构的 Mac 电脑上都是相同的。macOS 的目录结构遵循 Unix 和 BSD 的传统,具有许多标准目录。以下是一些主要目录及…

日常ctf

15, [MoeCTF 2021]Web安全入门指北—小饼干 直接改就行了 16, [MoeCTF 2021]2048 传入参数就获取到flag了 /flag.php?score500000000 17, [SWPUCTF 2022 新生赛]funny_web 账户密码是 NSS 2122693401 登录进去查看源码 考intval缺陷&…

【java】java入门

盘符名称冒号---------盘符切换 dir---------------查看当前路径下的内容 cd目录--------进入单级目录 cd..----------回退到上一级目录 cd \----------回退到盘符目录 cls----------清屏 exit 为什么要配环境变量? 在任意的目录下都可以打开指定的软件。把软件的路…

网络安全检测技术

一,网络安全漏洞 安全威胁是指所有能够对计算机网络信息系统的网络服务和网络信息的机密性,可用性和完整性产生阻碍,破坏或中断的各种因素。安全威胁可分为人为安全威胁和非人为安全威胁两大类。 1,网络安全漏洞威胁 漏洞分析的…