static关键字
由static修饰的关键字,被所有类的对象共享。每个对象都可以去访问该属性或方法。
静态变量的特点
静态变量可以直接用类名.变量名的形式直接访问。静态变量jdk8以后存储在堆区,jdk8之前存储在方法区。
静态变量在类加载的时候就已经生成了,不需要实例化一个对象也可以直接通过类名.变量名的形式直接访问
静态方法
和普通方法的区别在于多了个static关键字。
静态方法不可以调用非静态的成员变量。不可以使用this和super。
普通方法可以访问静态成员,也可以访问非静态成员。
可以通过类名.方法名()的形式调用,如果不希望创建实例也能够调用一个方法,也可以把该方法设置为静态的。开发工具类时可以使用。
如:
/**
* 功能:读取键盘输入的一个字符
* @return 一个字符
*/
public static char readChar() {
String str = readKeyBoard(1, false);//就是一个字符
return str.charAt(0);
}
main方法
main方法中的注意事项
- main方法可以访问类中的静态成员
- main方法中不可以访问非静态成员,不可以使用this!!!要实例化后才可以访问非静态的成员。