面向过程:C语言,以方法为中心,主要是方法之间的调用
面向对象:更符合人类的思维习惯,以对象为中心,主要是对象之间的调用
类与对象
类:实物的属性是类的成员变量,实物的行为是类的方法
是一组具有相同属性和行为的事物的集合,本质还是一种数据类型,类是抽象的
属性: 事物的静态的特征, (成员变量)
行为: 事物的动态的特征(方法,动作)
例如:
人:
属性:身高 肤色 年龄
行为:吃饭 睡觉 学习
对象:对象是真实存在的实体,对象是具体的,是类的具体体现(对象就是类的举例)
例如:
乔治:
属性:170 粉色 12
行为:吃饭 睡觉 踩水坑
对象是 new + 构造方法()
Person person = new Person();
person.setName("小马哥");
person.setAge(18);
person.setHeight(180);
person就是一个对象,也是一个变量
new Person()是在创建对象
Person就是类名,也是数据类型
封装思想
封装使用的步骤:
- 成员变量私有化 private
- 提供公共访问方式 getXXX() setXXX()
封装概述
是面向对象三大特征之一(封装,继承,多态)
是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的
封装原则
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法
set属性(): 用来设置属性值的方法
get属性(): 用来获取属性值的方法
封装好处
- 通过方法来控制成员变量的操作,提高了代码的安全性
- 把代码用方法进行封装,提高了代码的复用性
修饰符
访问控制修饰符
Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。
专业术语 | 关键字 | 范围 |
---|---|---|
公有访问修饰符 | public | 对所有类可见。使用对象:类、接口、变量、方法 |
私有访问修饰符 | private | 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类 |
受保护的访问修饰符 | protected | 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类) |
默认访问修饰符 | default | (什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法 |
非访问控制修饰符
为了实现一些其他的功能,
例如:static 修饰符、final 修饰符、abstract 修饰符、synchronized 和 volatile 修饰符
toString()方法
// toString() 我们想打印引用数据类型的时候,打印的是地址值,我们可以重写toString()方法,打印对象的属性值
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", height=" + height +
", age=" + age +
'}';
}