概述
面向过程:面向过程主要是把问题分解成多个不同的步骤,然后把各个步骤变成方法,它更强调过程。代表语言:c
面向对象:面向对象会把问题分解成各个对象,然后各个对象之间进行交互,每个对象内部封装了进行了封装,创建对象,然后把事情交个对象去做,操作对象就可以了。实际而言,面向对象也是有过程的,只不过我们把过程封装成类,然后用一个对象去调用而已。代表语言java
面向对象有三个特征: 封装 继承 多态
类
在Java语言里面,最基本的单位是类(class),类是由成员变量和方法组成的,类 = 成员变量+方法。其中抽象类有方法但是无方法体,且抽象类中可以包含普通类。
成员变量:在类的内部,方法的外部定义的变量叫做成员变量。(全局变量和成员变量是不同的)存储放到堆中
局部变量:在方法内部定义的变量叫做局部变量。 存储随着方法放到栈中
成员变量:写在类体的里面,方法体的外面,声明时可以不进行初始化值,可以被本类或其他类的方法进行调用。
局部变量:写在方法体的里面,声明时必须进行初始化(在堆中初始化),只能在声明局部变量的方法内进行调用。
类是一组相关的属性和行为的集合,类一般都是泛指某一种事物,对象就是该事物的具体体现。比如类是指车辆,而对象就是特指某一辆车,有车的属性颜色,功能
- 属性-描述该事物的信息,一般是事物上面的名词
- 行为-描述该事物能做什么,一般是动词
定义类的格式:
1 public class 类名{ 2 数据类型 变量名; 3 数据类型 变量名; 4 //可编写0-n个属性 5 修饰符 返回值类型 方法名(参数){ 6 执行语句 7 //可编写n个方法 8 } 9 }
数据类型可以为基本数据类型,同样可以为引用数据类型;
修饰符 public、protected、default、private 暂时只用public
返回类型 可以是无返回值void 也可以是有返回值类型 int byte long short等基本数据类型
方法名自己起名
参数在这里是形参,在调用方法中传入的值是实参
局部变量和成员变量区别
区别一:定义的位置不同
定义在类中的变量是成员变量
定义在方法中或者{}语句里面的变量是局部变量
区别二:在内存中的位置不同
成员变量存储在堆内存的对象中
局部变量存储在栈内存的方法 在方法中
区别三:生命周期不同
成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失
局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失
区别四:初始化不同
成员变量因为在堆内存中,所有默认的初始化值
局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。