一、属性(成员变量)及局部变量

1、相同点

  • 定义变量的格式:数据类型        变量名=变量值
  • 先声明。后使用
  • 变量都有其对应的作用域

2、不同点

  • 在类中声明的位置 不同

① 属性:直接定义在类的一对{}内

② 局部变量:声明在方法内、方法形参、代码块、构造器形参、构造器内部变量

  •  关于权限修饰符不同

① 属性:可以在声明属性时,指明气权限,使用权限修饰符

                常用权限修饰符:private、public、缺省、protected ==>封装性

② 局部变量:不可以使用修饰符

  • 默认初始化的情况:

① 属性:类的属性,根据其类型,都有默认初始化值。

        整形(byte、short、int、long):0

        浮点型(float、double):0.0

        字符型(char):0 或  ('\u0000')

        布尔型(boolean):false

        引用类型(类、数组、接口):null

② 局部变量:没有初始化值。 意味着,我们在调用局部变量之前,一定要显示赋值,特别的,形参在调用时,我们就赋值

  •  在内存中加载的位置

① 属性:加载到堆空间中(非static)

②局部变量:加载到栈空间

二、 举例

光说是没有的,理论如果没有使用或者运用,便是永远都是理论,所以我举一些实例来引用一下上面所说的,如下,便是示范

1、示范①

public class UserTest {
    public static void main(String[] args) {
        User u1=new User();
        u1.talk("中文");
    }
}

类的代码如下: 

class User{
    //属性(或成员变量)
    String name;
    int age;
    boolean isMale;

    public void talk(String language){//language 形参,属于局部变量
        System.out.println("我们使用"+language+"进行交流");
    }
}

结果图如下:

java添加信任 java如何添加属性_java

 2、示范②

public class UserTest {
    public static void main(String[] args) {
        User u1=new User();
        System.out.println(u1.name);
        System.out.println(u1.age);
        System.out.println(u1.isMale);
        
       u1.eat();

    }

}

class User{
    //属性(或成员变量)
    String name;
    int age;
    boolean isMale;

    public void eat(){
        String food="烙饼";//局部变量
        System.out.println("某人喜欢吃:"+food);
    }
}

 结果图如下:

java添加信任 java如何添加属性_局部变量_02

 如上的两个示例就可以看出属性与局部变量的差别、局部变量的形参,属性的部分类型默认初始化值、