博客
关于我
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/

你可能感兴趣的文章
tableviewcell 中使用autolayout自适应高度
查看>>
Symbolic Aggregate approXimation(SAX,符号聚合近似)介绍-ChatGPT4o作答
查看>>
Orcale表被锁
查看>>
svn访问报错500
查看>>
sum(a.YYSR) over (partition by a.hy_dm) 不需要像group by那样需要分组函数。方便。
查看>>
ORCHARD 是什么?
查看>>
Struts2中使用Session的两种方法
查看>>
Stream API:filter、map和flatMap 的用法
查看>>
STM32工作笔记0032---编写跑马灯实验---寄存器版本
查看>>
order by rand()
查看>>
SSM(Spring+SpringMvc+Mybatis)整合开发笔记
查看>>
Orderer节点启动报错解决方案:Not bootstrapping because of 3 existing channels
查看>>
org.apache.axis2.AxisFault: org.apache.axis2.databinding.ADBException: Unexpected subelement profile
查看>>
sql查询中 查询字段数据类型 int 与 String 出现问题
查看>>
org.apache.commons.beanutils.BasicDynaBean cannot be cast to ...
查看>>
org.apache.dubbo.common.serialize.SerializationException: com.alibaba.fastjson2.JSONException: not s
查看>>
sqlserver学习笔记(三)—— 为数据库添加新的用户
查看>>
org.apache.http.conn.HttpHostConnectException: Connection to refused
查看>>
org.apache.ibatis.binding.BindingException: Invalid bound statement错误一例
查看>>
org.apache.ibatis.exceptions.PersistenceException:
查看>>