package com.pyk;
public class Demo {
int id;//非静态属性
static int sid;//static修饰,为静态属性
//非静态方法
public void a() {
System.out.println(id);
System.out.println(sid);
System.out.println("-----a");
}
//static和public都是修饰符,并列的没用先后顺序,即可写成public static void b(){}
//static修饰的方法为静态方法
static public void b() {
//System.out.println(this.id);//在静态方法中不能使用this关键字
//System.out.println(id);//在静态方法不能访问非静态属性
//a();//在静态方法中不能访问非静态的方法
System.out.println(sid);
System.out.println("-----b");
}
public static void main(String[] agrs) {
//非静态的方法可以用 对象.方法名去调用
Demo d=new Demo();
d.a();
//静态的方法可以用 对象.方法名去调用 也可以用 类名.方法名
d.b();//对象.方法名
Demo.b();//类名.方法名
}
}
总结:
【1】静态方法中不能使用this关键字
【2】静态方法中不能访问非静态方法和属性
【3】静态的方法不仅可以用对象.方法名去调用,还可以类名.方法名去调用