关键字static
一、概念
如果想让一个类的所有实例共享数据,就用类变量。
//Chinese.java
public class Chinese{
static String country;
String name;
int age;
}
//Test.java
Chinese.country = "中国";
Chinese c = new Chinese();
c.name = "xx";
c.age = 11;
System.out.println(Chinese.country);
二、类属性、类方法的设计思想
类属性作为该类各个对象之间共享的变量。
- 在设计类时,分析哪些类属性不因对象的不同而改变,将这些属性设置为类属性。相应的方法设置为类方法。
- 如果方法与调用者无关,则这样的方法通常被声明为类方法,由于不需要创建对象就可以调用类方法,从而简化了方法的调用
三、Static
1、使用范围
在java类中,可用static修饰属性、方法、代码块、内部类
2、被修饰后的成员具备以下特点:
- 随着类的加载而加载
- 类加载之后,静态的方法或者属性就能用了
- 优先于对象存在
- 不用new就可以使用
- 修饰的成员,被所有对象共享
- 访问权限允许时,可不创建对象,直接被类调用
四、类变量
类变量(类属性)由该类的所有实例共享。
类变量这种可以被所有的实例化对象共享的属性,使用起来要慎重,因为只要改动,所有类都会得到变化。
五、 类方法
- 做工具类用的最多
-
没有对象的实例时,可以用类名.方法名()的形式访问由static标记的类方法
-
在static方法内部只能访问类的static属性,不能访问类的非static属性
-
因为不需要实例就可以访问static方法,因此static方法内部不能有this。(也不能有super)
-
重载的方法需要同时为static的或者非static的