1、面向对象
面向对象是基于面向过程的编程思想
1.1、面向对象的思想和特点
- 是一种更符合我们思考习惯的思想
- 把复杂的事情简单化
- 让我们从执行之变成了指挥者
- 例:
- 买电脑
- 洗衣服
- 做饭
- 面向过程:我要先去掉电脑城,在去挑选电脑、价格、配置…
- 面向对象:我让小明帮我去买电脑,我不用管他怎样去的,怎样讲价,我只需要给他钱,他帮我买回来就行了,这就是面向对象思想。
- 例:
1.2、把大象装进冰箱
- 面向过程实现
- 面向对象实现
- 注意:如何让我们的操作更符合面向对象的思想嘞
- 有哪些类?
- 每个类有哪些成员
- 类与对象的关系、
1.3、面向对象的三大特点
- 封装
- 继承
- 多态
2、类与对象
- 现实世界的事物
- 属性:事物的基本描述
- 行为:事物的功能
- JAVA语言中最基本的单位是类,所以我们要用类来体现事物
2.1、类
- 类:类是一组属性和行为的集合,是一个抽象的概念
- 对象:是该类事物的具体存在,是一个具体的实例
- 成员变量:事物的属性
- 成员方法:事物的行为
- 学生:类 班长:对象
3、类的定义和使用
3.1、类的定义
-
成员变量:定义格式和以前定义变量一样,就是位置不同,在类中,方法外
class Student{ private String name; private int age; }
-
成员方法:定义格式和以前一样, 就是去掉了static
class Student{ public void eat() { System.out.println("学生吃东西"); } }
3.2、使用类的内容
- 创建对象:类名 对象名 = new 类名()
Student student = new Student();
- 使用成员变量和成员方法
- 对象名.成员变量
- 对象名.成员方法()
int temp = student.name;
student.eat();
-
案例:
- 学生类的定义和使用
- 手机类的定义和使用
public class Demo { public static void main(String[] args) { Student s = new Student(); s.name = "张皓程"; s.age = 20; s.gender = "男"; s.show(); } } //学生类的定义和使用 class Student{ String name; int age; String gender; public void show() { sout("name = "+name); sout("age = "+age); sout("gender = "+gender); } public void study(){ sout("学生学习"); } } //手机类的定义和使用 class Phone{ String brand; //品牌 String color; double price; //成员方法 }
4、内存图
- 一个对象的内存图
- 两个对象的内存图
- 三个对象的内存图:两个引用指向同一片堆中的对象