package classdemo;
/*
* static 静态的,类专属的,可以共享数据
* 使用:1.一般情况下不能修饰类,特殊情况(内部静态类)
* 2.可以修饰变量,静态变量
* 3.可以修饰方法,静态方法
* 4.静态变量和静态方法时类专属的,推荐使用类来访问
* 类名.静态变量 类名.静态方法(参数列表)
* 5.静态的可以互相直接访问(类的内部),main方法方法也是静态的,但是不能被其他访问
* 6.可以通过对象来访问静态变量/方法,实际开发中,强烈不建议使用(禁止使用)
* 注意:静态的(静态变量,静态方法)可以相互访问,非静态(成员变量,成员方法)的也可以相互访问
* 非静态的可以直接访问静态的
* 静态的不能直接访问非静态的,如果要访问必须通过创建对象的形式来访问
* 项目经验:
* 工具类中的方法,需要共享数据:必须使用静态的
*/
public class StaticDemo {
public static String name = "static";//静态变量
public String name1 = "static";//非静态变量,成员变量
//静态方法
public static void test() {
StaticDemo s = new StaticDemo();
System.out.println(s.name1);//必须通过创建对象的形式来访问
//System.out.println(name1);静态方法不能直接访问非静态变量
}
//非静态方法
public void test1() {
System.out.println(name);
}
//内部静态类
static class Test{
}
}