JAVA中的成员变量与局部变量浅析
成员变量为直接定义在类中的变量,而局部变量为定义在代码块中的(即定义在除了main方法之外的{}中),浅析阶段暂且将成员变量与全局变量看做相等,不做深究。
package sir;
public class User {
int age;
String name ;
String adress;//变量age,name,adress为成员变量
代码中的age,字符串name,字符串adress都为成员变量,在main方法中定义的变量为变量(main中不能定义新的方法,所有的方法和成员变量必须在main之前定义完成)
成员变量一般定义在头部,用于描述变量中的详细信息。成员变量如果不赋值则输出默认值,整数型int默认值为0;浮点型double默认值为0.0;图表型char默认值为 ‘空’;波尔型boolean默认值为false;其余所有类型的默认值为null。
package apple;
public class Bok {
int age;
String name;
public void dowork() {
String name="lalala";//这里的name为局部变量
System.out.println(this.name);
//this指的是调用方法的类,若此处不加this则采用就近原、name的值为上面的局部变量
}
public static void main(String[] args) {
Bok diu=new Bok();
diu.dowork();
}
}
若将局部变量中的String name改为name,则指的是全局变量(此时因为不会产生歧义所以name前面省略了代词this.)改动后将给main方法中的diu.name赋值。
若一个方法中使用了代词this,则此方法必为非静态代码段,不能使用static,即必须在main方法中使用以下格式调用方法,不能使用 类名.方法名() 的格式对方法进行调用。
Bok diu=new Bok();
diu.dowork();