# 面向对象
1. 对于描述复杂的事物,为了从**宏观上**把我、从整体上来合理分析,需要用到面向对象的思路来分析整个系统,但是具体的**微观操作**,还是需要面向过程的的思路来处理。
2. 简单来说面向对象就是一种归类的思路。一个还可以*具体展开*的事物。
3. 面向对象编程(OOP)的本质:**以类的方式阻止代码,以对象的组织(封装)数据。**
4. 这是一种抽象的思维,主要有**封装、继承、多态**三种特性。
---
# 类与对象
---
## 类
1. 类是一种抽象的数据类型,是对某一种事物的整体描述/定义,但是并不能代表某个具体的事物
2. 一个类中只有属性和方法
3. 类是对一类事物的概括,是一个很笼统的范围,通过类中的各种属性来具体到某一个唯一的东西
---
## 对象
1. 对象则是抽象概念的具体实例
2. 在对类进行实力化之后会返回一个对象
---
~~~java
package com.oo.oop;
// 学生类
public class Student {
// 属性:字段(都是抽象的 没有给定具体的东西来写死)
String name;
int age;
String gender;
//方法
public void study(){
System.out.println(this.name+"在学习");
}
public static void main(String[] args) {
//类:抽象的,实例化
//类实例化之后会返回一个自己的对象
//qy、wqh就是对象的名称,他们都是Student类的具体实例
Student qy = new Student();
Student wqh = new Student();
qy.name="覃胤";
qy.age=22;
qy.gender="男";
wqh.name="翁秋晖";
wqh.age=22;
wqh.gender="男";
System.out.print(qy.name+" ");
System.out.print(qy.age+" ");
System.out.println(qy.gender);
System.out.print(wqh.name+" ");
System.out.print(wqh.age+" ");
System.out.println(wqh.gender);
}
}
~~~