面向过程编程:开发一个一个的方法,有数据要处理了,我们就调用方法处理。
面向对象编程:开发一个一个的对象来处理数据,把数据交给对象,再调用对象的方法来完成对数据的处理。
类是对象的模板(约束对象属性和行为)
对象是实例(真实的数据)
类是模板(规范数据格式)
成员变量和局部变量的区别
类和对象的注意事项
this关键字
this一个变量,用在方法中,可以拿到当前类的对象。
我们看下图所示代码,通过代码来体会这句话到底是什么意思。哪一个对象调用方法方法中的this就是哪一个对象
上面代码运行结果如下
封装
面向对象的三大特征:封装、继承、多态
封装,就是用类设计对象处理某一个事物的数据时,应该把要处理的数据,以及处理数据的方法,都设计到一个对象中去。
封装的设计规范用8个字总结,就是:合理隐藏、合理暴露
封装用到一个修饰符,叫private,被private修饰的变量或者方法,只能在本类中被访问。
如下图所示,private double score;
就相当于把score变量封装在了Student对象的内部,且不对外暴露,你想要在其他类中访问score这个变量就,就不能直接访问了;
如果你想给Student对象的score属性赋值,得调用对外暴露的方法setScore(int score)
,在这个方法中可以对调用者传递过来的数据进行一些控制,更加安全。
当你想获取socre变量的值时,就得调用对外暴露的另一个方法 getScore()
构造器
构造器是一种特殊的方法,但是这个方法没有返回值类型,方法名必须和类名相同
//空参构造方法
public Phone(){
}
//有参构造方法
public Phone(String brand, double price, String color){
this.brand = brand;
this.price = price;
this.color = color;
}
-
构造器什么时候执行?
答:new对象就是在执行构造方法。
-
构造方法的应用场景是什么?
答:在创建对象时,可以用构造方法给成员变量赋值
-
构造方法有哪些注意事项?
答:1.在设计一个类时,如果不写构造器,Java会自动生成一个无参数构造器
2.一旦定义了有参数构造器,Java就不再提供空参数构造器,此时建议自己加一个无参构造器。
编写Java类:
1.创建私有属性
2.设置构造方法(有参+无参)
3.提供get/set方法
4.功能