成员变量和局部变量的初始值和赋值操作问题

public class demo{
	int x ; 
	x = 1;//这句会报错
}

上边是两个语句,第一个,声明一个类的成员变量,第二个,对成员变量赋值,而成员变量属于对象,对它的赋值只能由对象来操作,在类中单独对其赋值,当然要报错了。(类里面只能放成员变量和方法吧,赋值是个操作)

public class demo{
    int x = 1;   //这条语句是声明成员变量的同时并为其指定初始值,不会报错
}
public class demo{
    int x ;   //这条语句是声明成员变量,并没有为其指定初始值,不会报错
}
class test{
	public static void main(String[] args) {
        demo d = new demo();
        System.out.println(d.x);//运行结果为0
    }
}

成员变量可以不用赋初值,在new对象的时候,系统会默认设置一个初值,基本数据类型赋为0,如果是引用类型的成员变量则会赋值为null

public class demo{
    public static void main(String[] args) { 
		int x; 
		x = 1;    
		int y = 1;
    }
}

这段代码在main方法中声明了一个局部变量,并且在main方法中为变量赋值,所以没有错误(这个变量的作用域只能是main方法,出了main方法再赋值就会报错了)

public class demo{
    public static void main(String[] args) { 
		int x; 
		System.out.println(x); //此刻会报 Variable 'x' might not have been initialized  错误
    }
}

上边需要搞清楚的是,成员变量可以不赋初值,创建对象后直接使用,局部变量必须要声明并赋值后,才能使用

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值