面向对象编程的本质:
以类的方式组织代码,以对象的组织(封装)数据。
- 抽象
- 三大特性
- 封装
- 继承
- 多态
- 从认识论角度考虑是现有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象。
- 从代码运行角度考虑是先有类后有对象。类是对象的模板。
什么是对象的属性:
属性:对象具有的各种特征,每个对象的每个属性都拥有特定的值.
例如:
对象:人
属性:年龄,姓名,身高体重等。
什么是对象的行为
例如人可以做什么事情,人可以唱跳rap,打篮球等。
类和对象的关系
类:类是对现实生活中一类具有共同属性和行为的事物的抽象。
对象:是能够看得到摸的着的真实存在的实体。\
定义在方法以外,类以内
定义了以后整个类都可以使用
存储在堆内存
有默认的初始化值\
定义在方法内
定义了只能在该方法中使用
存储在栈内存
没有默认初始值,必须先定义赋予值才可以使用
封装:
private 关键字
权限修饰符
可以修饰成员变量和成员方法
this关键字
this修饰的变量用于指代成员变量
方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量
方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量
构造方法概述
构造方法是一种特殊的方法,该方法的方法名就说类名且没有返回值,但可以有参数。
有参数则为有参构造方法
无参数则为无参构造方法\
构造方法的注意事项
构造方法的创建
如果没有定义构造方法,系统将给出一个默认的无参数构造方法
如果定义了构造方法,系统将不再提供默认的构造方法
如果不写构造方法,在程序运行时会自动生成一个无参的构造方法