1 作用域 : { }
基本变量 :
{
Int i=10;
}
当变量出了该范围即是它消失的一刻
引用变量
{
String s=new String(“a string”);
}
当变量出了该范围 s在作用域消失,该引用对象还是存在。
分析 :两者之间存在区别的原因 :创建,和销毁所在的地区不一样。一个在堆栈里,一个在堆里面,有垃圾回收器回收。
2基本变量什么情况下会被赋予默认值 :
代码1 :编译期正常编译。
public class MyTest
{
private int i;
public int getInt()
{
int j;
return i;
}
}
代码2 :编译期报错。
public class MyTest
{
private int i;
public int getInt()
{
int j;
return j;
}
}
分析原因:对于基本变量,只有作为类中的属性时被赋予初值,当做为成员变量时不进行默认赋值
3 引用null,和什么都不引用是两个概念。
代码1 : 编译期不通过
public String getString()
{
String s;
return s;
}
代码2 : 编译期通过
public String getString()
{
String s=null;
return s;
}