JavaSE-----理解面向对象

“万事万物皆对象”

1.在Java语言范畴中,所有事物的功能,结构等都可以被封装到类中,通过类的实例化为对象,便可以通过对象来调用类中具体的功能结构,实现一定操作;
2.涉及到Java语言与前端Html,后端的数据库交互时,前后端的结构在Java层面交互,都体现为类和对象;
举例:
学生是一类事物,学生的属性有姓名、学号、性别、年级等等;学生的功能有写作业、考试等等;此时,站在Java语言的角度就可以将学生的所有属性、功能封装成为一个类,叫做学生类;
学生类通过实例化产生一个学生对象,此对象拥有学生类的全部属性和方法,并且可以操作/使用类中的属性/方法来实现一定的功能。

面向对象学习主线

<大处着眼,小处着手>
在这里插入图片描述

面向对象与面向过程的区别

在这里插入图片描述

面向对象分析思路

在这里插入图片描述

面向对象两要素

在这里插入图片描述

类的设计<field + method>

在这里插入图片描述

类的实例化

在这里插入图片描述在这里插入图片描述在这里插入图片描述

JVM内存解析

在这里插入图片描述

对象创建的内存解析

在这里插入图片描述

代码解析:
在Java的内存层面,定义的变量(p1)存放在栈中;创建的对象(Person)存放在堆中;其中名为p1的变量数据类型为Person类型,也就是引用数据类型,指向new Person()所分配的堆空间地址;通过对象名.属性的形式给p1属性name、isMale赋值;后又创建一个名为p2的Person对象,输出p2属性name的默认值,为null;接着定义一个Person类的引用,此时heap空间中并没用创建新的对象赋给p3,而是将p1赋给了p3,也就是说p3指向了p1这个对象,即,p1和p3都指向同一个内存空间,此时调用age属性的赋值操作其实是修改了p1对象的age属性,将1改为10.

结束

仅用于笔记整理,如有错误,欢迎指出!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值