对象泛指现实中一切事物,每种事物都具备自己的属性和行为。
面向过程:POP: Process-Oriented Programming
面向对象:OOP: Object Oriented Programming
面向对象与面向过程的区别:面向对象仍然包含面向过程,只不过关注点变了,关注谁来做 面向对象思想是一种更符合我们思考习惯的思想,它可以将复杂的事情简单化,并将我们从执行者变成了指挥者。
类的定义:是一类具有相同特性的事物的抽象描述,是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
类与对象的关系
-
类是对一类事物的描述,是抽象的。
-
对象是一类事物的实例,是具体的。
-
类是对象的模板,对象是类的实体。
即某个类只有一个,而该类的对象可以有无数个,比如猫这个类中可以有:狸猫,布偶猫这些对象。
而各个对象的属性表示各个对象的状态信息,比如颜色,重量,年龄这些属性。而行为映射到对象中则是各种方法,比如:小猫叫
对象名中存储的是什么呢?答:对象地址
如果两个类都在一个.java源文件中,只能有一个类是public的,这个public是文件名的表示符,和权限修饰符不同
发现学生对象和数组对象类似,直接打印对象名和数组名都是显示“类型@对象的hashCode值",所以说类、数组都是引用数据类型,引用数据类型的变量中存储的是对象的地址,或者说指向堆中对象的首地址。
那么像“Student@4e25154f”是对象的地址吗?不是,因为Java是对程序员隐藏内存地址的,不暴露内存地址信息,所以打印对象时不直接显示内存地址,而是JVM提取了对象描述信息给你现在,默认提取的是对象的运行时类型@代表对象唯一编码的hashCode值。