1、概念
- 对象: 是实际存在的具体实例。
- 类: 是对象共同特征的描述 。
2、类的组成
- 成员变量
成员变量是类中的全局变量,它的作用域是class car的“{}”之内。
public class car{String carTypeName; //汽车类型名称double minPrice; //最低价格double maxPrice; //最高价格
}
- 成员方法
成员方法是类中的全局方法,它的作用域是class car的“{}”之内。
public class car{/*成员变量*/String carTypeName; //汽车类型名称double minPrice; //最低价格double maxPrice; //最高价格/*成员方法*/public void getPrice(){ //获取汽车价格System.out.println(carTypeName+"的价格为"+minPrice+"~"+maxPrice+"万元");}
}
- 构造器
构造器是Java用来创建并初始化对象的工具,通常在new对象时,会自动调用无参构造器,若含有参数,则先调用无参构造器,再调用有参构造器,返回对象地址。
结构: 【修饰符 类名(形参列表){ … }】
无参构造器: 初始化对象,成员变量赋值默认值。
public class car{/*成员变量*/String carTypeName; //汽车类型名称double minPrice; //最低价格double maxPrice; //最高价格/*构造器*/public car(){}/*成员方法*/public void getPrice(){ //获取汽车价格System.out.println(carTypeName+"的价格为"+minPrice+"~"+maxPrice+"万元");}
}
有参构造器: 初始化对象,同时接收参数列表进行赋值。
public class car{/*成员变量*/String carTypeName; //汽车类型名称double minPrice; //最低价格double maxPrice; //最高价格/*构造器*/public car(Stirng carTypeName,double minPrice,double maxPrice){this.carTypeName = carTypeName;this.minPrice = minPrice;this.maxPrice = maxPrice;}/*成员方法*/public void getPrice(){ //获取汽车价格System.out.println(carTypeName+"的价格为"+minPrice+"~"+maxPrice+"万元");}
}
注意: 有参构造器存在,则无参构造器一定要写;若有参构造器不存在,则无参构造器可以不写。
- 代码块
- 内部类
3、获取与使用对象
- 获取对象: 【类名 对象名 = new 类名(…);】
- 使用对象:
- 访问属性【对象名.成员变量;】
- 访问方法 【对象名.成员方法(…);】
4、注意事项
- 类名要按照规范准则进行命名。
- Java可以定义多个类,但只有一个类使用public关键字修饰。
- 成员变量可以不需要初始化,采用默认值规则。
5、对象的内存机制
- 字节码文件与main方法依次载入方法区。
- main方法执行创建对象方法即Car car = new Car();并开辟方法区空间存储Car文件信息。
- 栈内存的main空间中开辟空间存储Car对象堆内存地址。
- 堆内存开辟Car对象空间,成员方法以方法区地址形式存储。
6、this关键字
意义: 代表当前对象的地址。
作用: 用于指定访问当前对象的成员变量和成员方法。
作用域: 构造器与方法。
7、封装
概念: 正确设计对象的属性和方法。
原则: 对象代表什么,就得封装对应的数据,并提供数据对应的行为。
优化封装:
- 添加private关键字
为了避免对象被所以修改,所以我们在设计对象时会在成员变量以及成员方法的前面添加一个private(私有的)修饰符,它的作用域是当前类中使用。 - 添加public修饰的getter、setter方法暴露取值与赋值行为。
问:如何理解封装的原则呢?
答:例如狗吃骨头,一般我们说的是狗—吃—骨头。在面向对象中,狗是调用者,吃是行为,骨头是被调用者,那么吃是骨头的对象行为,狗调用骨头吃的行为,达到狗吃骨头的目的,因为吃是个不特定动作,只有在具体对象上才有具体含义,所以骨头具有吃的行为。
8、JavaBean
概念: JavaBean指的是Java实体类,是真实世界的对象,通过数字化的方式描述该对象。
标准原则
- 成员变量私有化
- 提供setter/getter方法
- 必须提供无参构造器,可选有参构造器