实例变量和局部变量的区别

public class TestInstanceVsLocal {
    public static void main(String[] args) {
        
        int a = 0;//局部变量,先赋值,再使用
        
        System.out.println(a);
        
        if(true) {
            int b = 20;//作用范围只在if分支结构中
        }
        
        Cat cat1 = new Cat();//局部变量
		
        System.out.println(cat1.bread);//输出:null
        System.out.println(cat1.age);//输出默认值:0
        
        cat1.eat();//打印10
    }
}

class Cat{
    String bread;//实例变量 全局变量  属性
    int age;
    String sex;
    
    public void eat() {//实例方法
        
        int age = 10;
        System.out.println(age);
    }
}
局部变量 实例变量
定义位置 方法或方法内的结构当中 类的内部,方法的外部
默认值 字面(与数组相同)
使用范围 从定义行到包含其结构结束 本次有效
命名冲突 不允许与局部变量重名 不允许与实例变量重名,可与局部变量重名,局部变量优先

你可能感兴趣的:(java第一阶段)