成员变量的分类
简而言之:类变量的值是所有对象共享的,而实例变量的值是每个对象独立的
如何声明成员变量
属性(成员变量)的类型可以是Java的任意类型,包括基本数据类型、引用数据类型(类、接口、数组等)
实例
public class Student {
// 类变量可以直接赋值
static String country;
// 类变量如果不直接赋值,也有默认值
static String teacher = "张三";
//实例变量如果不直接赋值,也有默认值
String name;
//实例变量直接赋值
char gender = '男';
}
?成员变量的默认值如下图所示
如何在类外面访问成员变量
?实例
public class Student {
// 类变量可以直接赋值
static String country;
// 类变量如果不直接赋值,也有默认值
static String teacher = "张三";
//实例变量如果不直接赋值,也有默认值
String name;
//实例变量直接赋值
char gender = '男';
}
class Test{
public static void main(String[] args) {
Student s = new Student();
//类名.静态成员变量 推荐
System.out.println(Student.country); // null
System.out.println(Student.teacher); //张三
//静态的成员变量也可以通过对象.进行访问 不推荐
System.out.println(s.country); // null
System.out.println(s.teacher); //张三
//对象名.非静态成员变量
System.out.println(s.name); // null
System.out.println(s.gender); // 男
}
}
在方法体{ }中或方法的形参列表、代码块中定义的变量我们称之为局部变量。
public class Test {
public static void main(String[] args) {
// 声明 局部变量 ,位置方法内
int age;
}
}
?其他注意事项,特点 在前面的已经学习过了,这里就不细说了
声明位置和方式
在内存中存储的位置不同
生命周期
作用域
修饰符
默认值