目录
一、面向对象编程的好处
1、符合人类思维习惯,编程更简单,更好理解;
2、面向对象的学习重点:学习java提供的对象并使用;学习如何自己设计对象;面向对象的语法知识。
二、设计对象并使用
1、设计类,创建对象并使用
在java中必须先设计类,才能获得对象。类(设计图):是对象共同特征的描述;对象:是真实存在的实例。
如何定义类:
public class 类名{
1、成员变量(代表属性,一般是名词)
2、成员方法(代表行为,一般是动词)
3、构造器(后面学习)
4、代码块(后面学习)
5、内部类(后面学习)
}
public class Car{
//属性,(成员变量)
String name;
double price;
//行为,(成员方法)
public void start(){
}
public void run(){
}
如何得到类的对象:
类名 对象名 = new 类名();
Car c = new Car();
如何使用对象:
访问属性:对象名.成员变量
访问行为:对象名.方法名(...)
2、定义类的几个补充注意事项
- 成员变量的完整定义格式是:修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值。
- 类名首字母建议大写,且有意义,满足“驼峰模式”。
- 一个java文件中可以定义多个class类,且只能一个类是public修饰,而且public修饰的类名必须成为代码文件名。实际开发中建议还是一个文件夹定义一个class类。
三、对象内存图
1、多个对象内存图
2、两个变量指向同一个对象内存图
3、垃圾回收
- 注意:当堆内存中的类对象或数组对象,没有被任何变量引用(指向)时,就会被判定为内存中的“垃圾”。
- Java存在自动垃圾回收器,会定期进行清理。
对于对象内存图这一知识点,可以详见博客对象内存图
四、面向对象编程训练:模拟购物车模块
1、购物车模块模拟-架构搭建
2、添加商品到购物车,查看购物车信息
3、修改购买数量
4、结算支付金
五、构造器
1、知道对象具体是通过调用什么代码完成的;
2、能够掌握对对象属性赋值的其他写法;
六、this关键字
this关键字的作用:出现在成员方法中,构造器中代表当前对象的地址,用于访问当前对象的成员变量、成员方法。
总结:1、this关键字的作用:代表当前对象的地址。
2、this关键字在构造器中、成员方法中可以做什么:可以用于访问当前对象的成员变量。
七、封装
封装的实现步骤:
一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问。
提供public修饰的公开的getter、setter方法暴露其取值和赋值。
public class Student{
private int age;
public int getter(){
return this.age;
}
public void setter(int age){
if(age >= 0 && age <= 100){
this.age = age;
}else{
System.out.println("请检查年龄数值“);
}
}
}
1、封装是什么,一般封装怎么体现出来?
- 面向对象的三大特征之一,合理隐藏,合理暴露;
- 一般会把成员变量使用private隐藏起来;
- 通过getter和setter方法暴露其访问;
2、封装有什么好处?
- 加强了程序代码的安全性;
- 适当的封装可以提升开发效率,同时可以让程序更容易理解和维护;
八、标准JavaBean
JavaBean也可以理解为实体类,其对象可以用于在程序中封装数据。
标准JavaBean须满足如下要求:
- 成员变量使用private修饰;
- 提供每一个成员变量对应的setXxx()/getXxx();
- 必须提供一个无参构造器;
JavaBean改造购物车模块