Java学习笔记-类与对象
对象的引出

- 使用单独变量来解决问题,通过频繁定义每个数据的数据类型来实现对问题的解决。不利于数据的管理,把一个物体的数据信息拆分了。
- 使用数组解决问题
-
- (1)数据类型体现不出来(数组只能存储同一种数据类型)
(2)只能通过数组下标来访问数据,造成变量名字和内容的对应关系不明确
(3)不能够体现需要解决问题的事物的行为
- (1)数据类型体现不出来(数组只能存储同一种数据类型)
-
- 总之以上解决问题的方式,都不利于数据的管理和效率低下
-
- java设计者引入类与对象,根本原因就是现有技术不能完美解决新的需求
类与对象

- int相当于java中提供的类,而100,200……就是int类所对应的对象
- 猫类Cat 就是用户自定义的对象,实例化出来的就是cat类的对象
- 类与对象的区别和联系
-
- (1)类是抽象的 概念的,代表一类事物,比如人类,猫类……,即它是数据类型
(2) 对象是就提的,实际的,代表一个具体事物,即是实例
(3)类是对象的模板,对象是类的一个个体,对应一个实例
- (1)类是抽象的 概念的,代表一类事物,比如人类,猫类……,即它是数据类型
对象在内存中的存在形势(对象内存布局)

- 对象中 常量直接存放在堆空间中,而String是引用类型,所以会存放一个内存地址,然后指向方法区,在方法区中存放引用类型的数据。
- 在创建对象的时候,jvm会在方法区中加载类的信息(1.属性信息 2.行为(方法信息))
- Cat cat = new Cat()
cat只是引用 ,相当于一个代称,而真正的对象是在jvm内存中的所为其开辟的空间。 这就叫做 对象引用
属性和成员变量

- 属性的定义语法同变量 示例: 访问修饰符 属性类型 属性名
访问修饰符: 控制属性的访问范围
有四种访问修饰符 public protected 默认 private - 属性的定义类型可以为任意类型 包含基本类型和引用类型
- 属性如果不赋值,就会有默认值,遵守数组的默认值规则
创建对象的方式
- 先声明后创建
Cat cat://声明一个对象
cat = new CAt();// 在内存中创建一个对象空间
- 直接创建
Cat cat - new Cat();
- 访问属性
对象名.属性名;
对象分配机制和对象创建的过程



浙公网安备 33010602011771号