面向对象基础6(变量详解+OOP基础回顾总结)

Java变量

成员变量

位置——定义于类中

  • 类变量 有static


类变量属于类而本身,当系统初始化该类的时候就会给类变量分配空间并初始化。
在程序中,类本身只有一个,先有类,再有对象(实例)

  • 实例变量 无static


实例变量属于对象本身,系统每次创建的时候都需要危改对象的实例变量分配空间,并执行初始化
严格来讲,类变量应该由类本身来访问
实例变量应该由对象来访问——永远用类调用类变量、
不要用对象来访问类变量,但是Java还是会将该对象替换为该对象所属于的类

成员变量无需初始化,系统可以自动分配初始值,

初始值规则和数组元素的初始值规则完全相同

局部变量

位置——定义于方法中

  • 形参

  • 普通的局部变量

  • 代码块的局部变量(for循环内定义的局部变量)


代码块中的局部变量的作用域仅限于代码块

必须指定初始值,然后才可以使用

局部变量若离开了所属的方法,立刻失效

总结回顾

定义成员变量

[修饰符] 类名 变量名[ = 初始值]

定义方法

[修饰符] 返回值类型 方法名(形参列表)

构造器(一个特殊的方法)

[修饰符] 构造器名 (形参列表)

没有返回值声明,构造器名必须和类名相同,构造器的作用,

用于初始化对象——构造器永远属于实例,不可能被static修饰

类的作用

  1. 定义变量,所有类型都是引用类型
  2. 调用类变量或是类方法
  3. 创建对象 new 构造器(参数)

对象的作用

  1. 调用实例变量
  2. 调用实例方法

调用方法或者变量

调用者.方法(参数)

调用者.实例变量

方法详解

  1. 方法的所属性

  2. 形参个数可变的方法

  3. 递归方法
    有关递归思想——创建者只需要考虑所需要递归的执行可能,其后再思考该递归方法的所有涵盖情况(用if语句来完善),其后剩下的过程让递归方法自动处理

  4. 方法重载(只有形参和返回值类型可以不同)