面向过程:POP
通过分析问题所需步骤,依次写下,关注流程。
面向对象:OOP
通过分类方式思考和解决,先对整体分类再根据不同深入
面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,成为无源之水。
类
类是一个模板,它描述一类事物的属性和行为的集合.
类是表示一个客观世界某类群体的一些基本特征抽象
结构
成员变量:事物属性的描述;
方法:事物的行为;(可以做的事情)
构造方法:初始化对象;
内部类: 即在类体中声明的类。
块:一段没有名称的代码块
声明格式:
[访问权限修饰符] [修饰符] class 【类名】{}
声明成员变量格式
[访问权限修饰符] [修饰符] type attr_name [=defaultValue] ;
对象的创建和使用
Car x1 = new Car();
Car x1:使用Car类作为类型声明一个变量x1.
new Car():使用new + Car类构造方法创建对象.
= :将右边创建的对象地址 赋给 左边的x1变量
使用x1变量访问对象中的成员变量和成员方法.
变量
成员变量
成员变量是定义在类中,方法体之外的变量。
成员变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。在定义成
员变量时可以对其初始化,如果不对其初始化,Java使用默认的值对其初始化。成员变量
在创建对象的时候会从类中复制一份到对象中。
成员变量可以被方法、构造方法和特定的语句块访问。
成员变量的作用范围为整个类体
局部变量
在方法、构造方法或者语句块中定义的变量被称为局部变量。
局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型)。局部变量
在使用前必须初始化赋值。
变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁
构造方法
构造方法名与类名相同,且没有返回值,且不需要使用void修饰。
作用:在构造方法中为创建的对象初始化赋值,
在创建一个对象的时候,至少要调用一个构造方法。
每个类都有构造方法。如果没有显式地为类定义构造方法,Java将会为该类提供一个默认构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。
一个类可以有多个构造方法。
方法重载
指同一个类中具有相同的名字,但参数不同的多个方法。
不同:
参数数量不同
参数类型不同
参数顺序不同