面向对象——类中属性的使用

属性(成员变量) vs 局部变量

1.相同点:

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

2.不同点:

2.1在类中声明的位置不同
    属性:直接定义在一对{}内
    局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部变量
2.2关于权限修饰符的不同
    属性:可以在声明属性时,指明其权限,使用权限修饰符
         常用权限修饰符:private、public、缺省、protected  ---->封装性
         目前,大家声明属性时,都使用缺省就可以了。
    局部变量:不可以使用权限修饰符
2.3默认初始化值的情况
    属性:
        整型(byte short int long):0
        浮点型(float double):0.0
        字符型(char):0 (或'\u0000')
        布尔型(boolean):false
    局部变量:没有默认初始化值,调用前需要显式赋值
        特别的,形参在调用时,我们赋值即可
2.4在内存中加载的位置
    属性:加载到堆空间中(非static)
    局部变量:加载到栈空间
'''java'''
public class UserTest {
    public static void main(String[] args) {

    }
}

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

    public  void talk(String language){
        System.out.println("我们使用" + language +"进行交流");
    }

    public  void eat( ){
        String food = "米饭";
        System.out.println("喜欢吃" + food);
    }
}
posted @ 2022-04-02 17:07  annan-xwj  阅读(54)  评论(0)    收藏  举报