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-11-20Java全栈教程:从入门到实战
- 2024-11-20Java微服务系统教程:入门与实践指南
- 2024-11-20Less教程:初学者快速上手指南
- 2024-11-20MyBatis教程:新手快速入门指南
- 2024-11-20QLExpress教程:初学者快速入门指南
- 2024-11-20订单系统教程:从入门到实践的全面指南
- 2024-11-20负载均衡教程:新手入门必备指南
- 2024-11-20微信支付教程:新手入门必备指南
- 2024-11-20系统部署教程:轻松入门与实践
- 2024-11-20入门级中间件教程:轻松掌握中间件基础知识