面向对象
面向过程:线性思维,按步骤来。
面向对象:分类思维,适合多人开发协作。
- OOP本质:以类的形式组织代码,用对象封装数据。类是对象的模板。
- 抽象:把共同点抽取出来形成一类。
- 三大特性:封装,继承,多态。
宏观面向对象,构造框架,微观上面向过程,处理细节。
类与对象的创建
-
类是一种抽象的数据类型,是对一类事物的整体描述。类由属性(静态)和方法(动态)构成。抽象的类实例化后会返回一个自己的对象。
new 类名();
-
对象是抽象概念的具体实例,一些具体的属性和行为也是通过对象来添加和进行。
类名 对象名 = new 类名();
用new
关键字创建对象后会为其分配内存和进行默认的初始化,以及对类中的构造器进行调用。
类变量只当作抽象的模板使用,一般不作具体赋值而用默认值,对象的实例变量会进行赋值,即为对象的属性。方法中的局部变量必须初始化赋值。
方法调用
一个项目只有一个主启动类含main方法,负责启动测试和调用其他类中的方法,通常命名为Application
。通常用侧边分栏将所有类共同展示。
-
静态方法
用
static
修饰,可以在主类中通过类名.方法名
的形式直接调用,其为类变量。 -
非静态方法
使用
new
关键字实例化这个类再调用,new 类名.方法名
。一般写作:
//对象类型 对象名 = 对象值(实例化对象)
Student student = new Student;
student.speech(); //用实例化后的对象去调用方法
- 两者关系:静态方法是和类一起加载的,普通方法是类实例化之后才存在,因此前者不能调用后者。
形参与实参
- 值传递:形参不会改变被调用实参的值,尽量避免两者命名相同。
- 引用传递:可以为具体对象的属性赋值。
this
代表当前类。