设计对象并使用
定义类、创建对象并使用
- 类 :是对象共同特征的描述
- 对象:是真实存在的案例
在Java中 必须先设计类 才能创建对象并使用
-
如何得到类的对象?
类名 对象名 = new 类名();
Car c = new Car(); -
如何使用对象?
访问属性:对象名.成员变量
访问行为:对象名.方法名()
定义类的注意事项
- 类名首字母应该大写 满足“驼峰模式” 不能用关键字
- 一个Java文件中有多个class类,但只能有一个public修饰 public修饰的类名必须成为代码文件名。
- 成员变量的完整定义格式:修饰符 数据类型 变量名称 = 初始化值;(一般不指定初始化值 存在默认值)
对象在内存中的运行机制
P73节黑马程序员
构造器
定义在类中的 可以用于初始化一个类的对象 并返回对象的地址
调用
Car c = new Car();
分类
- 无参数构造器:成员变量数据均采用默认值
- 有参数构造器:在初始化对象时 同时可以接受参数为对象进行赋值
this关键字
代表当前地址
使用
- 可以出现在构造器、方法中
- 可以用于指定访问当前对象的成员变量、成员方法
封装
面向对象的三大特征:封装、继承、多态
告诉我们如何正确设计对象的属性和方法
原则
对象代表什么 就得封装对应的数据 并提供数据对应的行为
如何更好封装?
- 一般建议对成员变量使用 private (私有、隐藏)关键字修饰进(private修饰的成员只能在当前类中访问)
- 为每个成员变量提供配套public修饰的getter、setter方法暴露其取值和赋值
标准JavaBean
也可以成为实体类 其对象可以用于在程序中封装数据
书写要求
- 成员变量用private修饰
- 提供成员变量对应的set Xxx()/getXxx()方法
- 必须提供无参构造器
补充知识:成员变量、局部变量区别
成员变量 | 局部变量 |
---|---|
类中 方法外 | 方法中 |
有默认值 无需初始化 | 没有默认值 需要赋值 |
堆内存 | 栈内存 |
随着对象的创建而存在 随着对象消失而消失 | 随着方法的调用而存在 方法运行结束而消失 |
在所属的大括号里 |