静态方法即用static修饰的方法,其可以通过类名调用,也可以通过对象调用
public class Demo { public static void main(String[] args) { Test test = new Test(); test.method(); //对象调用 System.out.println("======"); Test.method(); //类名调用 } } class Test { public static void method() { System.out.println("静态方法"); } }
输出
静态方法 ====== 静态方法
静态方法中只能访问静态方法或静态变量
public class Demo { public static void main(String[] args) { Test.methodC(); } } class Test { public static int i = 666; public int j = 9527; public static void methodA() { System.out.println("静态方法"); } public void methodB() { System.out.println("非静态方法"); } public static void methodC() { methodA(); System.out.println("i=" + i); // System.out.println(j); 此处报错 java: 无法从静态上下文中引用非静态 变量 j // methodB(); 此处报错 java: 无法从静态上下文中引用非静态 方法 methodB() } }
输出
静态方法 i=666非静态方法
非静态方法只能通过对象调用
普通方法既可以访问静态成员又可以访问非静态成员
静态方法,只能访问静态的成员;
非静态的方法,可以访问静态成员和非静态成员;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)