一、什么是面向对象
1.面向对象是一种编程思想,Java是一门支持面向对象编程的语言
2.现实社会由各种形态不同的事物组成,事物之间都有着各种各样的联系,我们在程序中使用对象来描述
现实中的事物,通过操作对象来模拟事物之间的关系。
3.面向对象的三大特性:封装、继承、多态
二、类和对象
1.将一组特征相似的对象的共同属性和行为抽象出来,用一个类来进行描述,
成员变量描述属性,成员方法描述行为
2.类是对象的抽象,对象是类的实例
3.如何定义一个类Person.java
4.如何根据类创建一个对象PersonTest.java
Person p = new Person() 内存中的状态变化 对象内存图.bmp
1)在栈内存开辟一个空间,名字叫p
2)类加载器去classpath配置的目录下加载Person.class字节码
3)根据加载进来的类创建一个对象(在堆内存开辟一块空间,定义成员变量)
4)虚拟机自动为成员变量进行初始化
5)虚拟机自动调用构造函数
6)将对象的首地址给变量p
5.类的属性可以是基本数据类型,也可以是引用数据类型,包括自定义的类型
Circle.java MyPoint.java CircleTest.java
三、面向对象程序设计
1.Demo1: 小猫去大润发买洗衣机的例子,对象之间的相互调用
2.Demo2:利用构造函数和匿名对象针对Demo1进行了改写,发现构造函数很方便
四、类的封装
定义: 将一组相似的对象所有共同属性和方法都封装
在一个类里面,这样的类就可以用于将来描述同一类型的对象了
为了实现良好的封装性,将类的属性私有,对外提供共有的get和set方法
Student.java StudentTest.java
五、构造函数
函数名与类名相同,没有返回值类型的声明,可以重载,在创建对象时会被自动调用
Demo2.java