变量类型
在java中,所有的变量在使用前必须声明。例如:
int a=0,b=0,c=0;
float m=6.66;
double pi=3.14159;
String s="hello world";
java变量类型可分类变量、实例变量、局部变量。
1、局部变量
1. 局部变量声明在方法、构造方法或语句块中。
2. 局部变量在方法、构造方法或语句块中被执行的时候创建,当它们执行完后将会被销毁。
3. 访问修饰符不能用于局部变量。
4. 局部变量在栈上分配。
5. 局部变量没有默认值,被声明后要经过初始化才能使用。
先来看一个简单例子
package bao01;
public class Test07 {
public static void main(String[] args) {
TestClass07 s = new TestClass07();
s.method01();
}
}
class TestClass07{
public void method01() {
int age=0;
age=age+20;
System.out.println("输出结果为:"+age);;
}
}
输出结果如下:
局部变量age我们只在方法里面使用,输出结果正常。若在另一个方法里使用该局部变量:
如下:
package bao01;
public class Test07 {
public static void main(String[] args) {
TestClass07 s = new TestClass07();
s.method01();
}
}
class TestClass07{
public void method01() {
int age=0; //定义局部变量
age=age+20;
System.out.println("输出结果为:"+age);;
}
public void method02() {//这里我们再创建一个方法来测试
int a=0;
a=a+age;
System.out.println("输出结果为:"+a);
}
}
输出结果如下:
可以看到,我们在方法2中使用了方法1 ,结果报错,因为age变量只存在于其所声明的方法中。
2、实例变量
1. 实例变量声明在一个类中,在方法、构造方法和语句块之外。
2. 当一个对象被实例化后,每个实例变量就已确定。
3. 实例变量在对象创建时创建,在对象销毁时被销毁。
4. 实例变量至少被一个方法、构造方法或语句块引用,使得外部可获得变量信息。
5. 实例变量可声明在使用前或使用后。
6. 实例变量可被访问修饰符修饰。
7. 实例变量对于类中的方法、构造方法和语句块是可见的,一般实例变量设为私有。
8. 实例变量可通过变量名访问。
public class Test07 {
public static void main(String[] args) {
//实例化对象
String str="hello world";
TeatClass07 s = new TestClass07();
}
}
class TestClass07{
public void method01() {
int age=0;
age=age+20;
System.out.println("输出结果为:"+age);;
}
}
在以上代码中,str和s都是实例变量。
3、类变量
1. 类变量也称静态变量,在类中用static关键字声明,但必须在方法之外。
2. 类变量一般被声明为常量,一般也用public修饰,为了对类中的使用者可见。
3. 类变量可通过:类名.变量名的方式访问。
4. 类变量在第一次访问时创建,在程序结束时销毁。
以下代码中创建类变量
public class Test07 {
public static int age = 20; //定义类变量
public static void main(String[] args) {
System.out.println("年龄为;"+age); //直接使用类变量
}
}
以下是三种变量的区分
package bao01;
public class Test07 {
public static int age = 20; // 类变量
public static void main(String[] args) {
String name = "Tom"; // 实例变量
System.out.println(name + "的年龄为:" + age);
eat();
}
public static void eat() {
String food = "fish"; // 局部变量
System.out.println("eat fish");
}
}
输出结果: