第二章:一切都是对象

python 一切皆对象 python 一切皆对象在python中有一句话“一切皆对象”,其实在刚开始接触python的时候对这句话完全不理解,即使是看完了python基础教程也没有很好的理解这句话的含义。直到看了python的源码才对这部分有了更深入的理解。我的入门指导书是《Python源码剖析深度探索动态语言核心技术》。在python中下列语句其实都是一个共同点: i = 1 s = "abcde" def foo(): 阅读详情

 

1、引用:

引用时类似于指针,句柄的存在。引用需要和实例对象相关联才能操控对象。

2、对象:

1.引用与对象的关联一般通过new关键字进行(String是特殊的对象,可以直接赋值进行初始化);

2.对象是类的实例,拥有属于自己的成员变量和方法类;

3、类:

1、一些具有相似属性和行为的对象的抽象集合;

2、类可以拥有自己的静态属性和行为(static);

3、类和对象属于模板和产品的关系;

4、存储:

寄存器

最快的存储区,在处理器内部

栈(堆栈)

位于通用RAM(随机访问存储器),主要存储对象引用、基础类型

堆

RAM,主要存储对象本身,

方法区

静态区,存储静态资源,常量等

非RAM存储

流对象:对象转换为字节流,发送给另一个机器
持久化对象:对象存放到磁盘

 

基本类型:基本类型不通过new创建,也并非是对象,而是直接创建变量,存放栈中。

包装类:为了将基本类型纳入对象的使用范畴,加入包装类。基本类型和包装类可以在程序中自动拆        箱装箱。

高精度数字:java提供两个高精度计算的类;

1、BigInteger:任何精度的整数;

2、BigDecimal:任何精度的定点数;

5、生命周期:

1、初始化:

基本类型:

a、当基本类型作为成员变量的时候,可以默认初始化,即0和false;

b、当基本类型作为“局部”变量时,系统不会默认初始化,一旦使用未经初始化的变量,编译出错。

引用:

a、当引用做作对象的字段(成员变量)时,默认初始化null;

b、当引用作为“局部变量”时,系统不会默认初始化,使用即编译error;

静态变量:成员变量时默认初始化,“局部变量”(方法内部)时无法定义;

对象:通过无参有参的构造器进行初始化;

2、作用域{}

java中的作用域由包裹变量的{}决定。

局部变量和成员变量:

1、同一作用域不同变量形式可以同名,默认调用局部变量;

2、同一作用域同一变量形式不能同名;

引用和对象:

1、引用的作用域由{}决定;

2、引用销毁不等于对象销毁,引用的作用域之外对象依然存在,依靠GC回收。(因为对象的使用依靠引用的调用,不同引用指向同一对象,所以引用作用域为{}而对象却依靠GC回收)

静态变量:作用域依然是{};但是静态变量的生命周期贯穿程序始终。

6、静态资源(static):

1、类可以直接调用,类数据和类方法;

2、类的实体对象调用(注:静态资源只有一份,不同对象调用的依然是同一份静态资源)。

7、注释:

1、注释方式:

行注释 //内容

多行注释 /*内容*/

文档注释:用于生成技术文档

/**

*@author

*@version

*@docRoot

*@param

*……

*/

STM32F401RCT6最小系统原理图设计 STM32F401RCT6最小系统原理图设计一、主控芯片二、电源电路三、晶振电路三、下载电路四、完整电路图      本文章基于STM32F401RCT6进行最小系统原理图设计,包含主控芯片,电源,晶振电路,下载电路等几部分 一、主控芯片 主控芯片采用STM32F401RCT6,需注意: VBAT在不接电池的情况下需接3.3V,VDDAVREF+需接3.3V,否则会造成芯片供电不正常,无法启动和识别的情况 VDDAVREF+和VCAP1处电容需按照规格书 阅读详情

相关推荐

伺服电机三环控制实战:从参数整定到系统优化

本文以实战视角,深入解析伺服电机三环控制(位置环、速度环、电流环)的参数整定与系统优化全流程。文章摒弃复杂理论,通过生动的比喻和分步调试指南,详细阐述了从电流环快速响应、速度环平滑调节到位置环精准定位的调试方法,并提供了常见问题排查与进阶优化技巧,帮助工程师有效提升伺服系统性能与稳定性。

weixin_29201933的博客 244

《Java编程思想》读书笔记:第二章 一切都是对象

在Java中尽管一切都看作是对象,但是操作的标识符实际上是对象的一个“”引用。可以将这一情形想象成用遥控器(引用)来操纵电视机(对象)。只要握住这个遥控器,就能保持与电视机的连接。当用人想改变频道或者减小音量时,实际控制的是遥控器(引用),在由遥控器来调控电视机(对象)。如果想在房间走动,同时仍能调控电视机,那么直须携带(引用)而不是电视机(对象)。此外,即使没有电视机,遥控器亦可以独立存在。也就是说,你拥有一个引用,并不一定需要有一个对象于它关联。String s;这里所创建的只是引用,并不是对象。

Mr_Kian的博客 811

车载以太网入坑指南,从小白到懂哥的进阶之路【技术分享】

各位技术大佬们好!最近公司项目涉及到车载以太网,刚开始完全懵逼,花了大半个月时间各种查资料、测试设备,总算是摸清了门道。想着互联网上卧虎藏龙,肯定有不少大佬对这个技术感兴趣,所以写个帖子分享一下,顺便求各位大佬指点。

starelink的博客 1261

第二章笔记:一切都是对象

记录一下好的描述以及不知道的问题(会附带书中页码) (P26)一旦定义了一个类,就可设置两种类型的元素:       –字段(有时被称作“数据成员”)       –方法(有事被称作“成员函数”) (P26)若类的某个成员是基本数据类型,即使没有初始化,Java也会给它一个默认值。但该方法不适用“局部变量”。      eg:for(int i;i<10;i++)      Excetio...

LuM523的博客 210

ubuntu-emto-cpa 测试和使用(单核运行)

ubuntu-emto-cpa 测试和使用(单核运行)

qq_45834835的博客 1400

在windows中安装并启动ActiveMQ5.16.2

打开ActiveMQ官网 下载ActiveMQ 点击apache-activemq-5.16.2-bin.zip进行下载 下载发后解压到c盘根目录下 在powershell中输入 ./activemq start启动 ActiveMQ服务 htpp://127.0.0.1:8161访问ActiveMQ控制台 ...

934

Java编程思想读书笔记——第二章:一切都是对象

第二章 一切都是对象 尽管Java是基于C++的,但是相比之下,Java是一种更“纯粹”的面向对象程序设计语言。 在本章,我们将看到Java程序的基本组成部分,并体会到在Java中(几乎)一切都是对象。 2.1 用引用操纵对象 1、操纵的标识符实际上是对象的一个“引用” 2、书中用遥控器和电视机来形象的比喻: 要想调控电视机,只需携带遥控器,而不用携带电视机 即使没有电视机,遥...

pengbo6665631的博客 524

使用 Simulink Real-Time 搭建一个完整的实时信号采集与滤波系统模型

本文详细介绍了基于Simulink Real-Time构建实时信号采集与滤波系统的完整流程。主要内容包括:系统配置(模型创建与参数设置)、信号采集模块搭建(模拟信号源或真实硬件连接)、实时滤波器设计(浮点/定点)、输出可视化(Scope/ToWorkspace等)、模型编译与下载到目标机、外部模式在线调试及数据保存方法。系统可实现微秒级实时信号处理,适用于工业控制、航空航天等对时间确定性要求高的场景。文章还提供了优化建议(多速率建模、优先级调度等)和应用场景说明,帮助读者快速掌握实时系统开发的核心技能。

amy_mhd的博客 304

《Thinking In Java》总结, 第二章:一切都是对象

看Thinking In Java看到一半,由于看不下去了,我就从前面看过的章节往后一章一章的总结,看看自己从这些看过的章节中学到了些什么。第一章没什么可说的,直接从第二章开始吧。Java中,一切皆对象。尽管一切都是看作对象,但是平时我们实际操作的的是对象的一个引用(当然有人说这是一个指针)。可以将这一情形想象成用遥控器(引用)来操纵电视机(对象)。只要拥有这个遥控器,那我们就可以和电视机保持连接。

589

YOLOv11改进 - 卷积Conv | PATConv(Partial Attention Convolution)部分注意力卷积,在减少计算量的同时融合卷积与注意力的优势 | AAAI 2026

本文提出部分注意力卷积(PATConv)机制,并将其集成到YOLOv11中。传统神经网络中,卷积计算密集,注意力机制全局计算冗余,此前的“部分卷积”会丢失未计算通道的特征价值。PATConv通过“通道拆分 - 并行处理 - 结果拼接”的逻辑,给不同通道分配“擅长的任务”,兼顾局部与全局特征。基于此,它还衍生出PAT_ch、PAT_sp和PAT_sf三种细分模块。此外,还提出了动态部分卷积(DPConv),并构建了新的混合网络家族PartialNet。我们将PATConv代码集成到YOLOv11中,实验表明,

魔改工程师的博客 1085

Stable Diffusion WebUI 安装前准备

大家好,我是水滴~~在安装 stable-diffusion-webui 前需要做一些准备工作,本篇文章主要介绍需要的电脑配置、魔法、安装 Python、安装 Git 等。

水滴的博客 2100

Java编程思想 第二章:一切都是对象

这一章主要是介绍了在Java中一个类的组成成分以及是如何来调用和管理对象的。 对象的操纵和管理 在Java中,由于一切都是对象,所以问题就简单了,可以采用单一固定的语法来操作对象,那就是引用。如果你之前接触过C++那么,对引用肯定会很熟悉,我们都知道在c语言中,由于程序员可以直接对指针进行访问,所以C语言中的地址的访问可以嵌套很多层(比如指针的指针),太容易让人抓狂了。C++就出现了引用。实际上J...

AyraElric的博客 224

(5)ModalAI VOXL2

Ardupilot官网关于《Non-GPS navigation》的翻译 —《(5) ModalAI VOXL2》。

无人机开发(开源Ardupilot) 1万+

Java学习:第二章一切都是对象!

所有对象的操作都必须利用引用类型。* 在Java中,一切都被视为对象。* 1. Java的工作方式。

生物医学工程学生的博客 224

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java编程思想-第二章:一切都是对象

在Java中,一切被视为对象,操纵的标识符实际上是对象的一个”引用“。一旦定义了一个类(在Java中你所做的全部工作就是定义类,产生那些类的对象,以及发送消息给这些对象),就可以在类中设置两种类型的元素:字段和方法,或者数据成员和成员函数。方法的参数列表指定要传递给方法什么样的信息,这些信息采用的都是对象形式(传递的是引用),因此,在参数列表中必须指定每个所传递对象的类型和名字。基本类型具有的包装器类,使得可以在堆中创建一个非基本对象,用来表示对应的基本类型,包装基本类型的原因将在以后的章节中说明。

weixin_51687161的博客 125

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Thinking in Java:第二章-一切都是对象

第二章也没有系统性的东西,谈谈理解吧。 1:创建的对象存储位置 (1)堆栈:这里放对象引用,通过移动栈顶指针来分配和释放内存。 (2)堆:这是一个通用的内存池,存放所有的对象。 2:流对象:将对象转化为字节流。 持久化对象:对象被存放在磁盘。 3:内存泄漏(Memory Leak) 是指程序中己动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪

ivalue的博客 236

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Java编程思想笔记2——第二章:一切都是对象

2、一切都是对象 相比于C++,Java是一种更纯粹的语言。 C++太过于复杂,Java是一个纯粹的面向对象的语言,Java的一切皆是对象。 2.1 用引用操纵对象 在C语言和C++中使用指针进行操纵。 Java则没有指针,但是因为万物皆对象,所以操作的标识符实际上就是一个引用。 作者用电视遥控器来举例子,遥控器就是引用,电视就是数据,即使没有遥控器,电视依然存在。 例如String s = "asdf" 2.2 必须由你创建所有对象 使用new关键字来达到引用的目的 String s = new Stri

qq_35556504的博客 278

《Thinking in Java》学习笔记——第二章:一切都是对象

第二章:一切都是对象 “尽管以C++为基础,但Java 是一种更纯粹的面向对象程序设计语言”。 2.1 用句柄操纵对象 每种编程语言都有自己的数据处理方式。有些时候,程序员必须时刻留意准备处理的是什么类型。您曾利用一些特殊语法直接操作过对象,或处理过一些间接表示的对象吗(C 或C++里的指针)?所有这些在Java 里都得到了简化,任何东西都可看作对象。因此,我们可采用一种统一的语法,任何地方

chao_outlook的专栏 743

第二章:一切都是对象——《Java编程思想》读书笔记

第二章:一切都是对象——《Java编程思想》读书笔记 20200401 “如果我们说另一种不同的语言,那么我们就会发现一个有些不同的世界。——Luduing Wittgerstein” 语言的组织逻辑 你是直接操纵元素,还是用某种基于特殊语法的间接表示(例如C和C++里的指针)来操纵对象? 所有这一切在Java里都得到了简化。一切都被视为对象,因此可采用单一固定的语法。尽管一切都看做对象,但操纵的标识符实际上是对象的一个“引用(reference)”。 此外,即使没有电视机,遥控器亦可独立存在。也就是说,你

wowYuXuan808的博客 157

Thinking in java学习笔记 第二章:一切都是对象

Thinking in Java第二章:一切都是对象 学习笔记

小之的博客 543

《Java 编程思想》--第二章:一切都是对象

字符串可以用带引号的文本初始化五个地方可以存储数据: 寄存器:最快的存储区,位于处理器内部。数量有限,根据需求进行分配。用户不能直接控制,也不能在程序中感觉到寄存器的存在(C和C++允许向编译器建议寄存器的分配方式)堆栈:位于通用RAM(随机访问存储器)中,通过堆栈指针可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存。若向上移动,则释放这些内存。堆栈快速有效的分配存储方法,仅

天镶的专栏 611

Thinking in java学习笔记1:第二章(一切都是对象)

1.用引用操纵对象 操纵的标识符实际上是对象的一个“引用”。 创建一个String引用:String s; s只是引用,不是对象。 2.创建新对象 创建新对象的方式就是使用new操作符:String s=new String("沙丁鱼flat"); 2.1 内存存储位置 这是我自己总结做的表格: 存储地方 速度 特点 位置 寄存器 最快的...

沙丁鱼的博客 198

读《Thinking In Java》随笔记录 第二章:一切都是对象

常识: 寄存器:最快的存储区,处理器内部 堆栈:位于通用RAM(随机访问存储器)中 对象的引用 堆:一种通用的内存池(位于RAM区) 用于存放所有的java对象 常量存储:在嵌入式系统中,常量本省会和其他部分分隔离开,可以选择将其存放在ROM(只读存储器中) 非RAM存储器 :数据完全存活于程序之外:流对象和持久化对象,持久化对象被存放在磁盘上; 基本类型:不用new来创建变量,...

MK_BAI的博客 245
上一篇: 使用hibernate出现node to traverse cannot be null错误
下一篇: 第五章:初始化与清理
STR...
博客等级 码龄9年 5粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值