.成员变量和局部变量
局部变量
变量的作用域的问题, 方法a中一个变量,能不能再方法b中使用? 不能
局部变量在使用的时候要赋值的
public class Demo3 {
public static void main(String[] args) {
//int i = 20;
for (int i = 0; i < args.length; i++) {//int i = 0; 局部变量
System.out.println(i);
for (int j = 0; j < args.length; j++) {//{}是作用域
}
for (int j = 0; j < args.length; j++) {
}
}
//System.out.println(i);
}
public static void test () {//
int i = 10;
int a;//先声明变量 没有赋值的
System.out.println(i);
//System.out.println(a);//局部变量在使用的时候要赋值的
}
public static void test1 () {
int i = 10;
System.out.println(i);
}
}
成员变量
定义在实体类中的大括号的里面,也叫属性
成员变量可以先不赋值,提供一个默认值
class Person1 {
//属性====》 成员变量 作用域是 整个类都可以使用的
String name;
int age;
public Person1() {
System.out.println(name);//null 成员变量可以先不赋值,提供一个默认值
}
public void test () {
System.out.println(age);//0
}
}
public class Demo4 {
public static void main(String[] args) {
Person1 person1 = new Person1();
person1.test();
}
}
成员变量和局部变量的区别
区别 | 成员变量 | 局部变量 |
---|---|---|
定位位置 | 类的大括号的后面 也叫属性 | 定义在方法体中 |
作用 | 描述一个类的属性或者特征的 | 在方法体中保存变量的值的 |
初始化的值 | 有默认的初始值String=>null int ==>0 | 没有默认的值使用的时候一定要赋值 |
作用域 | 作用整个类 | 只能在当前方法中使用 |