首页 > 技术文章 > java之类和对象

sunmoonyou 2018-07-21 17:41 原文

概述

面向过程:面向过程主要是把问题分解成多个不同的步骤,然后把各个步骤变成方法,它更强调过程。代表语言: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等基本数据类型

方法名自己起名

参数在这里是形参,在调用方法中传入的值是实参

 

局部变量和成员变量区别

区别一:定义的位置不同

定义在类中的变量是成员变量

定义在方法中或者{}语句里面的变量是局部变量

区别二:在内存中的位置不同

成员变量存储在堆内存的对象中

局部变量存储在栈内存的方法 在方法中

区别三:生命周期不同

成员变量随着对象的出现而出现在堆中,随着对象的消失而从堆中消失

局部变量随着方法的运行而出现在栈中,随着方法的弹栈而消失

区别四:初始化不同

成员变量因为在堆内存中,所有默认的初始化值

局部变量没有默认的初始化值,必须手动的给其赋值才可以使用。

 

推荐阅读