5.2、面向对象——变量

变量

在这里插入图片描述

成员变量可以不用初始化,不初始化时取默认值:0;0L;0.0f;false;null

局部变量必须初始化,否则将出错。

studentID是成员变量,由每个类的实例化对象自己维护,pesident是静态变量,由类自己维护,被所有实例化对象共享使用


成员变量

成员变量(方法外部、类范围内声明的变量)的声明格式:

[①访问修饰符] [②类型修饰符] <数据类型> 变量名 [=初始值]

①访问修饰符:设置变量的访问权限

访问级别访问控制修饰符同类同包不同类(不含子类)同包子类不同包不同类****(不含子类)不同包子类
公开public
受保护protected--√(注意)
默认没有访问控制修饰符----
私有private----------

注:成员变量通常设置为private,然后再设置一些public权限的方法来设置、获取成员变量的值,防止由对象直接访问变量而导致数据的错误、混乱或安全性问题。

②类型修饰符:修改变量类型

public class ClassTest {
    //缺省:表示一个具体的、可实例化及可被继承的类
    private String name;//缺省:表一个实例变量。在对象创建后才会分配内存
    /*访问格式:
      *类内:变量名
      *类外:对象名.变量名
    */

    public static int omg = 666;//static修饰:设置为类变量(静态变量)。在类加载后就分配了内存。其值对任意对象都相同(最新值)
    /*访问格式:
      *类内:变量名
      *类外:对象名.变量名 || 类名.对象名
    */
}


不同变量在不同方法中的调用

在这里插入图片描述

定义成员变量

类名 对象名 = new 类名(构造方法的参数);

此时的对象名为对象句柄(变量标识),即为指向该对象首地址的变量

若为类名 对象名 ;——>这里的对象句柄(对象名变量内的值)为null


重载函数(变量名相同,但形式参数的①个数②顺序③类型不同)

调用方法的变量名是一样的,但形参列表不同


this的使用

  1. 形式参数与成员变量同名情况,如this.name = name




posted @ 2019-04-13 11:29  盼归汀  阅读(180)  评论(0编辑  收藏  举报