实例变量
声明变量在一个类中,但在方法、构造方法、语句块之外,没有static修饰。
如果变量没有赋值,那么它有默认值:
数值型变量默认为0;
布尔型默认为false;
引用类型默认为null;
实例变量属于该类的对象,必须先产生该类对象,才能调用实例变量。
就是说,实例变量是对象带有的属性,在类外面是不能直接用的。
public class Person {
//实例变量
String name;
int age;
double height;
void sing() {
System.out.println("会唱歌");
}
void dance() {
System.out.println("不会跳舞");
}
public static void main(String[] args) {
Person person = new Person();
//实例变量的赋值,其实在创建对象时各属性就已经赋予了默认值
//可以将下面三行代码注释输出查看
person.name = "凤文";
person.age = 20;
person.height = 178.0;
//实例变量的访问
System.out.println(person.name + " " + person.age + " " + person.height);
person.sing();
person.dance();
System.out.println(new Person().age);
new Person().sing();
}
}
静态变量
静态变量是独立于方法之外的变量,用static修饰,也可以叫做类变量。
static不能修饰局部变量
static变量
public class Student {
//实例变量
private String name;
//静态变量
public static String schoolName;
}
static在变量上一般用于一些共享性的数据。
比如说,name是学生本人的姓名,属于自身的独有属性,而学校却不仅仅是对象自身的属性,这个学校还有其他很多人都是这个学校的,学校是这些人的共享属性。