博客
关于我
java--类与对象的理解及浅显过程内存结构
阅读量:301 次
发布时间:2019-03-03

本文共 948 字,大约阅读时间需要 3 分钟。

一、类与对象的基本概念

在编程领域,类和对象是核心的概念。类可以看作是一种抽象的定义,描述一类事物的共同特征和行为。例如,"人类"一类事物的统称,涵盖了所有人,这是一种抽象的概念,需要对具体事物进行统一的定义。

对象则是具体的个体,反映客观世界中实际存在的实例。例如,"张三"和"李四"都是人类的具体实例。对象是通过将抽象的类具体化而产生的,即对象是根据类的定义实例化出来的。

从另一个角度来看,类就像是一份设计图纸,而对象则是根据设计图纸在现实中构建出来的具体建筑。类中的成员变量和成员方法定义了该类所有实例共同拥有的特性和行为。例如,楼的设计图纸包含了地基、混凝土、钢筋等通用材料和构造方法,而每一座具体的楼宇都是根据这份设计图纸以不同的方式构建而成。

类的核心作用是将具备相同功能和特性的实体集合抽象出来,形成一种可以重复使用的模板。通过类,我们可以避免重复编写相同功能的代码,从而提高代码的复用性和可维护性。

二、如何在Java中创建类的对象

在Java编程中,类的实例化是通过调用类的构造器(constructor)来实现的。构造器的作用是创建一个类的对象,这个对象可以具备类定义的成员变量和成员方法。

使用构造器创建对象的语法格式为:类名 对象引用变量 = new 类名()。例如,创建一个名为Person的类的对象,可以写成:

Person p1 = new Person();

在这个过程中,编译器首先在栈中分配一个空间来存储对象引用p1,然后在堆中分配一个空间来存储Person对象的实例。new操作符将堆中的对象实例的首地址传递给栈中的p1变量。

创建出来的对象会继承类的成员变量和成员方法。例如,Person类中定义了一个name成员变量和一个eat成员方法,那么p1对象就可以通过p1.name进行操作,或者调用p1.eat()方法。

每次使用new操作符创建一个类的对象时,Java都会在堆中为这个对象分配一块新的内存区域。这些对象之间是相互独立的,除非程序中有明确的指令进行通信或操作。

通过new操作符创建对象的过程,类中的成员变量会初始化为特定的值。例如,可以通过p1.age = 45;来为p1对象的年龄成员变量赋值。每个对象的成员变量都是独立的,不会互相影响。

转载地址:http://mmel.baihongyu.com/

你可能感兴趣的文章
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty中集成Protobuf实现Java对象数据传递
查看>>
Netty事件注册机制深入解析
查看>>
Netty原理分析及实战(四)-客户端与服务端双向通信
查看>>
Netty客户端断线重连实现及问题思考
查看>>
Netty工作笔记0006---NIO的Buffer说明
查看>>
Netty工作笔记0007---NIO的三大核心组件关系
查看>>
Netty工作笔记0011---Channel应用案例2
查看>>
Netty工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>