当前位置: 首页 > news >正文

【Java学习】类和对象

目录

一、选择取块解

二、类变量

三、似复刻变量

四、类变量的指向对象

五、变量的解引用访问

1.new 类变量(参)

2.this(参)

3.类变量/似复刻变量.

六、代码块

七、复制变量的赋值顺序

八、访问限定符

1.private

2.default

九、导类


一、选择取块解

解引用都有可以取块选择解的性质,即我们有了指向该对象的地址,该对象的所有都可以解引用此地址所取到,但我们通常不需要对象的所有,更多时候一次只需要解到对象的一部分,即一次解引用里对所能解引用到的所有内容进行选择取块地解要解的部分内容

二、类变量

class(类)是一种类型,用class(类)可以创建类变量类变量里存储变量与方法,创建类变量时都有开辟空间,类变量里的存储的成员变量都存储在堆区,类变量里存储的成员方法都存储在方法区类变量本身也是个变量存有空间,它里面存储这些成员变量与成员方法,不过类变量开辟的存储空间有部分在堆上(变量),有部分在方法区上(方法),是在两个不同区域开辟空间创建来的变量,类变量创建后相应地它也有哈希值,指向创建的这个类变量,能访问这个类变量的所有

三、似复刻变量

类变量创建好后,类变量也可作为一种类型,以此类变量为类型创建似复刻变量,似复刻变量按照类变量里的非静态变量模具变量创建复制变量、在堆上开辟空间存储有类变量里的静态变量、类变量里的所有方法的访问路径信息,用类变量创建的似复刻变量在堆区,复刻变量里存储复制变量与访问类变量路径信息两块内容,创建好似复刻变量后,相应地有指向此似复刻变量的哈希值,能访问与管理到此似复刻变量的所有内容似复刻变量的存哈希值引用类型与类变量存哈希值引用类型是共用的,因为它们最终的指向对象类型都是相同的

四、类变量的指向对象

类变量里面存储有静态变量非静态变量静态方法非静态方法

  • 静态变量与非静态变量都是存储在类变量的堆区部分,静态变量用来类变量里的存值的,而非静态变量对于类变量来说不存值,它作为复刻模具变量用来给似复刻变量照着复制出变量的
  • 静态方法与非静态方法都存储在类变量里的方法区那块部分,都是类变量里面创建好的方法,非静态方法的形参有专门接似复刻变量哈希值的形参,这也就决定了非静态方法必须得有似复刻变量传它哈希值下才可调用(此形参this往往隐藏起来的),而静态变量就普通没有这一形参

五、变量的解引用访问

类变量、似复刻变量都是引用变量,里面存指向对应空间的哈希值,通过哈希值来访问、管理的

类在文件里写好的,文件里写好后在允许访问的范围内程序一加载该类,该类变量就已经创建好了,类变量里就装有了此类变量的哈希值,在能访问到的范围内,类变量.或类变量()即可解引用此哈希值使用访问类变量


1.new 类变量(参)

—— 创建似复刻变量时

解引用类变量里的哈希值得到类变量内容进行创建似复刻变量

创建好似复刻变量后(此时里面的复制变量都设置好初始值为0)就有了指向其的哈希值(似复刻变量里面不仅有复制变量,还有路径信息),再将似复刻变量的哈希值与参数传到类变量里的构造方法中进行初始构造此似复刻变量,最后返回指向该创建好的似复刻变量的哈希值同用类变量的引用类型来接,此时此类变量创建的变量就是似复刻变量,里面装的是指向似复刻变量空间的哈希值


2.this(参)

—— 似复刻变量去构造方法时

一个似复刻变量刚创建好后即会被自动去调用执行它的构造方法,构造方法对于一个似复刻变量来说只有在这一过程中可被执行,构造方法这一过程结束之后,之后都不可再调用构造方法,在构造方法里执行时,构造方法有隐藏的形参this,是来接此似复刻变量哈希值的,所以在构造方法里,可用this.解似复刻变量哈希值得里面的复制变量this(参)解引用似复刻变量里的哈希值,取块选择解其路径信息中的指向类变量里方法区非静态方法中的构造方法实现再次调用构造方法


3.类变量/似复刻变量.

—— 访问使用其指向内容时

解引用类变量或似复刻变量里的哈希值得到引用对象指向的对应对象的内容


六、代码块

  • 静态代码块是类变量创建时执行给静态变量初始化
  • 实例代码块给似复刻变量自动初始化里面复制变量的,静态代码块先,实例代码块后

七、复制变量的赋值顺序

似复刻变量在创建时首先给复制变量设置好初始值为0,接着是就地初始化的赋值,实例代码块的赋值,最后是构造方法的赋值

八、访问限定符

1.private

被private修饰的限制在只能在同一个类中访问,在类里能访问,在类中就要封装好对外能间接访问到的接口

2.default

默认权限是default,同包的范围都可访问


九、导类

文件里写好的类都是创好了类变量的,把类文件导入进来就有了类变量(在可访问到范围),然后类变量一加载就有了一系列的功能,包括可直接使用类变量里的静态方法(类变量.),也可以用类变量创建似复刻变量就可以使用到里面的类变量里的全部方法包括非静态的方法(用类变量new完的似复刻变量.)

  • import java.util.* —— 导入包,会按实际使用情况自动导入包中的类

  • import java.util.Arrays; —— 导入类,导入要使用的Arrays这个类这个类变量

也可以手动解引用来一次解到一个类:

java.util.Date date = new java.util.Date();

导入类时可以以静态导入类,即只导入一个类变量里面静态的内容,导入后静态的内容直接进文件,不需要去解类变量的哈希值去得里面类变量的静态方法了,可以直接使用类里面导进来的的静态方法静态导只能导类,一次导入一个类变量里面的静态内容

java.lang这个包的这层包下的所有类都已经自动导入有了 

相关文章:

【Java学习】类和对象

目录 一、选择取块解 二、类变量 三、似复刻变量 四、类变量的指向对象 五、变量的解引用访问 1.new 类变量(参) 2.this(参) 3.类变量/似复刻变量. 六、代码块 七、复制变量的赋值顺序 八、访问限定符 1.private 2.default 九、导类 一、选择取块解 解引用都有可以…...

TestHubo基础教程-创建项目

TestHubo是一款国产开源一站式测试工具,涵盖功能测试、接口测试、性能测试,以及 Web 和 App 测试,可以满足不同类型项目的测试需求。本文将介绍如何快速创建第一个项目,以快速入门上手。 1、创建项目 在 TestHubo 中,…...

JS 链表

文章目录 链表题的一些总结两种链表定义set存储链表节点,存的是整个空间同时处理长短不一的两个链表处理方法 while(l1 || l2)处理方法 while(l1 & l2) dummyhead的使用 链表题的一些总结 两种链表定义 class class ListNode {val;next null;constructor(va…...

数据结构(陈越,何钦铭)第三讲 树(上)

3.1 树与数的表示 3.1.1 顺序查找 int SequentialSearch(List Tbl,ElementType K){int i;Tbl->Element[0]K;for(iTbl->Length;Tbl->Element[i]!K;i--);return i; } typedef struct LNode *List; struct LNode{ElementType Element[MAXSIZE];int Length; };3.1.2 二分…...

企业文件安全:零信任架构下的文件访问控制

在企业数字化转型的进程中,传统的文件访问控制模型已难以满足日益复杂的网络安全需求。零信任架构作为一种新兴的安全理念,为企业的文件安全访问提供了全新的解决方案。 一、传统文件访问控制的局限性 传统的文件访问控制主要基于网络边界,…...

性格测评小程序06用户注册校验

目录 1 必填校验2 验证密码强度3 账号唯一性校验最终效果总结 上一篇我们介绍了用户注册的功能,注册的时候对密码进行了加密。除了密码加密外还需要验证账号的唯一性和密码强度的问题,本篇我们介绍一下如何在表单提交的时候增加自定义校验的能力。 1 必填…...

$符(前端)

1‌. jQuery 的别名 用途&#xff1a;$ 是 jQuery 的核心标识符&#xff0c;用于快速选择 DOM 元素或调用 jQuery 方法。 // 选择所有 <div> 元素并隐藏 $(div).hide(); // 发起 AJAX 请求 $.get(/api/data, response > console.log(response)); 注意&#xff1a;虽然…...

Windows 11如何显示全部右键菜单?

在Windows 11系统中&#xff0c;默认的右键菜单进行了简化&#xff0c;若你想要显示全部右键菜单&#xff0c;可以通过以下几种方法实现&#xff1a; 方法一&#xff1a;临时显示完整右键菜单 在需要操作的区域按下Shift键的同时点击鼠标右键&#xff0c;此时弹出的就是完整的…...

离线量化算法和工具 --学习记录1

离线量化算法和工具 一、离线量化的基础概念1.1、基本流程1.2、量化的优点和缺点1.3、如何生产一个硬件能跑的量化模型1.4、PTQ的概念以及和QAT的区别1.5、离线量化的标准流程1.6、校准数据的选择1.7、量化模式的选择1.8、校准方式的选择1.9、量化算法的选择1.10、写入量化参数…...

python第七课

WSGI Middleware 中间件&#xff0c;可以理解称对应用程序的一组装饰器&#xff0c;对两边都起作用的元素。 重写environ&#xff0c;然后基于URL&#xff0c;将请求对象路由给不同的应用对象支持多个应用或者框架顺序地运行于同一个进程中通过转发请求和相应&#xff0c;支持负…...

华为IPD简介

创作灵感 现在“熟悉华为IPD”经常出现在高级招聘岗位能力要求上&#xff0c;于是作者写下此文章以此巩固相关知识储备 名词解释 华为IPD&#xff08;Integrated Product Development&#xff0c;集成产品开发&#xff09;是华为引入并优化的一套产品开发管理体系&#xff0…...

如何在Spring Boot中配置分布式配置中心

文章目录 如何在Spring Boot中配置分布式配置中心分布式配置中心的概念1. 集中管理2. 动态配置3. 环境隔离4. 安全性5. 可扩展性与适应性6. 与 CI/CD 流程的集成Spring Cloud Config 概述1. 集中式配置管理2. 多环境支持3. 版本控制4. 动态刷新5. 安全性6. 与微服务架构的无缝集…...

Golang internals

To be continued... time.Time golang的时区和神奇的time.Parse context.Context Go Context的踩坑经历 sync.Pool sync.Pool workflow in Go 1.12 new shared pools in Go 1.13 什么是cpu cache理解 Go 1.13 中 sync.Pool 的设计与实现Go: Understand the Design of Sync.Pool…...

天翼云910B部署DeepSeek蒸馏70B LLaMA模型实践总结

一、项目背景与目标 本文记录在天翼云昇腾910B服务器上部署DeepSeek 70B模型的全过程。该模型是基于LLaMA架构的知识蒸馏版本&#xff0c;模型大小约132GB。 1.1 硬件环境 - 服务器配置&#xff1a;天翼云910B服务器 - NPU&#xff1a;8昇腾910B (每卡64GB显存) - 系统内存&…...

数据治理常用的开源项目有哪些?

数据治理是企业在大数据时代中确保数据质量、安全性和可用性的关键环节。开源项目在数据治理中扮演着重要角色&#xff0c;提供了灵活、经济高效且功能强大的解决方案。以下是一些常用的开源数据治理项目&#xff1a; Apache Atlas&#xff1a; 功能&#xff1a;元数据管理、数…...

数据结构与算法之排序算法-(计数,桶,基数排序)

排序算法是数据结构与算法中最基本的算法之一&#xff0c;其作用就是将一些可以比较大小的数据进行有规律的排序&#xff0c;而想要实现这种排序就拥有很多种方法~ &#x1f4da; 非线性时间比较类&#xff1a; 那么我将通过几篇文章&#xff0c;将排序算法中各种算法细化的&a…...

Word正文中每两个字符之间插入一个英文半角空格

Word正文中每两个字符之间插入一个英文半角空格 修改前 修改后 替换方法 快捷键 Ctrl H 唤出查找和替换界面依次输入上述内容全部替换即可 参考链接 【【2025年3月】计算机二级MS Office 2016 真题讲解视频打卡】 【精准空降到 25:27】...

把 DeepSeek1.5b 部署在显卡小于4G的电脑上

这里写自定义目录标题 介绍准备安装 Ollama查看CUDA需要版本安装CudaToolkit检查Cuda是否装好设置Ollama环境变量验证是否跑在GPU上ollama如何导入本地下载的模型安装及配置docker安装open-webui启动open-webui开始对话 调整gpu精度 介绍 Deepseek1.5b能够运行在只用cpu和gpu内…...

A4988一款带转换器和过流保护的 DMOS 微步驱动器的使用方式

A4988是一款带转换器和过流保护的 DMOS 微步驱动器&#xff0c;用于驱动双极步进电动机。它支持全、半、1/4、1/8 及 1/16 步进模式&#xff0c;输出驱动性能可达 35 V 及 2 A。其特点包括简单的步进和方向控制接口、可调电位器调节最大电流输出、自动电流衰减模式检测/选择以及…...

一口井深7米,一只蜗牛从井底往上爬每天爬3米掉下去1米,问几天能爬上井口?

一个井深7米&#xff0c;一只蜗牛从井底往上爬每天爬3米掉下去1米&#xff0c;问几天能爬上井口&#xff1f; 1. 通用解法 构建一个通用的解法&#xff0c;适用于任何井深和蜗牛的爬升、下滑距离。 问题描述&#xff1a; 井深为 H H H 米。蜗牛每天向上爬升 U U U 米。每…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

通过Wrangler CLI在worker中创建数据库和表

官方使用文档&#xff1a;Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后&#xff0c;会在本地和远程创建数据库&#xff1a; npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库&#xff1a; 现在&#xff0c;您的Cloudfla…...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

STM32F4基本定时器使用和原理详解

STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

Caliper 配置文件解析:fisco-bcos.json

config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...