“万事万物皆对象”
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.
结束
仅用于笔记整理,如有错误,欢迎指出!