java面向对象-类与对象的关系
2021/7/27 20:09:39
本文主要是介绍java面向对象-类与对象的关系,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
java面向对象-类与对象的关系
类
- 类是一种抽象的数据类型,它是对某一事物整体描述/定义,但是并不能代表某一个具体的事物,是一个模板
- 如Person类、Pet类、Car类…Pet类里面有猫狗,Car类里面有轿车,货车,这些类都是用来描述/定义某一类具体的事物应该具备的特点(属性)和行为(方法)
对象
- 对象是抽象概念的具体实例
- 张三就是人的一个具体实例,张 三家里的旺财就是狗的一个具体实例
- 能够体现出特点,展现出功能的是具体的实例,而不是一个抽象的概念
创建与初始化对象
- 使用new关键字创建对象
- 使用new关键字创建对象时,除了分配内存空间之外,还会给 创建好的对象 进行 默认的初始化以及对 类中构造器的调用
构造方法
-
类中的构造器也被称为 构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
1.必须和类的名字相同
2.必须没有返回类型,也不能写void
3.一旦定义了有参构造,无参构造就必须显示定义 -
一个类即使什么都不写,它也会存在一个构造方法
作用:
- 可以实例化初始值
- 使用new关键字时,本质是在调用构造器
- 构造器一般用来初始化实例变量
- 换句话说:构造方法就是用来创建对象的,并且同时给对象的属性赋值(注意:当实例变量没有手动赋值时,系统会赋默认值)
创建对象内存分析
解析:
- 首先类是最先被加载出来的,所以Student、StudentTest类都放在方法区,方法区也在堆里;
- 首先我们要知道s1这个变量它是局部变量,因为在方法里的变量都叫局部变量,变量s1又是通过main方法来创建的,main方法又在栈中,栈中主要存储局部变量,而方法所需要的内存都是在栈中分配的,所以Student对象是通过栈来分配空间的,并且有个内存地址:0*1234;我们可以通过引用变量名s1来找到并引用这个空间。
- 从上图可以看出,我们在main方法中实例化了一个Student对象 :Student s1 = new Studnet(); new运算符的作用就是在堆内存中开辟一块空间,那么通过new创建出来的对象都在堆内存中,堆内存中存储对象及对象的实例变量(成员变量),所以s1这个对象就在堆内存中,并且有个地址:0*1234;
引用与对象的区别
-对象是通过new出来的,在堆内存中存储,对象是通过引用来操作的
引用是:但凡是变量名,并且该变量名中保存了内存地址指向了堆内存当中的对象的
这篇关于java面向对象-类与对象的关系的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?