1.测试静态变量,方法的调用。
a,静态方法不能调用非静态变量和方法;
如下:
package test;
import java.util.Scanner;
public class testStatic {
public void test1(){
System.out.println("我是test1");
}
public static void test2(){
//调用非静态变量和方法会报错
// test1();//会报错;
// i;//会报错;
System.out.println("我是test2");
}
public static void main(String[] args) {
testStatic ts = new testStatic();
ts.test1();
}
}
b,非静态方法就能调用静态变量和方法了;
2.在main方法或全局中new一个对象,注意区分是否是static,否则会无法正常调用该对象。
package test;
import java.util.Scanner;
public class testStatic {
Scanner s = new Scanner(System.in);
public void test1(){
System.out.println("我是test1");
String str = s.next();
test2();
}
public static void test2(){
System.out.println("我是test2");
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
testStatic ts = new testStatic();
ts.test1();
}
}
在main中new对象,只能是在static方法中调用(s.方法名());
如果想在多个方法中调用该对象方法,就只能是在全局new该对象(也就是在类中new一个);
不设置 static Scanner s = new Scanner(System.in);的话,那么static方法都无法调用它。