static
1、静态属性
static在变量中的使用较少,而在常量中使用static修饰的较多。
static修饰的属性的修改最好使用类名.属性名,也可以使用引用名.属性名。
修饰的属性以经修改,全部使用该属性的地方均改变。
2、静态方法
静态的方法的使用不需要对其类进行对象实例化。
3、调用
非静态方法可以调用非静态的属性和静态的属性;
静态方法只可以直接调用静态属性。
间接调用非静态属性的方法、使用set、get方法
static修饰的方法的调用、属性的修改最好使用类名引用。
private static 修饰的属性的修改必须使用引用名来调用去修改。
代码:
public class This {
static String name = "张三";
static int age = 1;
String sex = "男";
public static void main(String[] args) {
staticTest();
}
public static void staticTest(){
System.out.println("静态类中使用静态属性:");
System.out.println("姓名:"+name+"年龄:"+age);
System.out.println("年龄修改后:");
age+=10;
System.out.println("姓名:"+name+"年龄:"+age);
System.out.println("静态类中直接使用非静态属性,产生编译异常!");
// System.err.println("性别:"+sex); //此处产生编译错误
System.out.println("静态类中间接使用非静态属性:");
System.out.println("实例化非静态属性所属的类,调用它的set、get方法进行修改,取值");
System.out.println("性别:"+new This().getSex());
System.out.println();
System.out.println();
new This().test();
}
public String getSex() {
return sex;
}
public void test(){
System.out.println("非静态方法中调用静态属性:");
System.out.println("姓名:"+name+"年龄:"+age);
System.out.println("年龄修改后:");
age+=10;
System.out.println("姓名:"+name+"年龄:"+age);
System.out.println("非静态类中使用非静态属性:");
System.out.println("性别:"+sex);
}
}