java基础知识-变量的分类

java基础知识-变量的分类

java的变量分类

局部变量

1.局部变量必须初始化

 int i;
 int j=10;
System.out.println(i+10);
Main.java:7: 错误: 可能尚未初始化变量i
        System.out.println(i+10);

2.局部块执行完毕变量生命周期结束

  {
            int i,j;
            i=10;
            j=10;
   }
   System.out.println(i);
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
        i cannot be resolved to a variable

        at app.App.main(App.java:13)

成员变量

方法外部、类的内部定义的变量。从属于对象,生命周期伴随对象始终。如果不自行初始化,它会自动初始化成该类型的默认初始值。默认值如下表所示.

数据类型 实始值
int 0
double 0.0
char ‘\u0000’
boolean false
package var;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Person p=new Person();
		System.out.println(p);

	}

}

package var;

public class Person {
	private int number;
	private boolean sex;
	private char home;
	private double hign;
	
	@Override
	public String toString() {
		return "Person [number=" + number + ", sex=" + sex + ", home=" + home + ", hign=" + hign + "]";
	}
	
	
}

Person [number=0, sex=false, home= ,hign=0.0]

静态变量

使用static定义。 从属于类,生命周期伴随类始终,从类加载到卸载。如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值,默认初始值和成员变量初始值相同。

public class School {
	public static int size;//学生人数
}

package var;

public class Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(School.size);
		School.size++;
		System.out.println(School.size);
		

	}

}

0
1
posted @ 2020-02-10 15:26  梦小冷  阅读(266)  评论(0)    收藏  举报