1.static方法可以调用本类的static变量,但不能直接调用非static变量,调用非static变量必须使用对象调用。
1 public class testFunction { 2 static String HOBBY = "阅读"; 3 String ordinaryVal = "睡觉"; 4 5 public static void updateStaticValue(){ 6 System.out.println(HOBBY); 7 System.out.println(ordinaryVal); (报错了,不能直接调用,对象才可以调用非static变量) 8 }
1 public class testFunction { 2 static String HOBBY = "阅读"; 3 String ordinaryVal = "睡觉"; 4 5 public static void updateStaticValue(){ 6 System.out.println(HOBBY); 7 testFunction tf = new testFunction(); 8 System.out.println(tf.ordinaryVal); #(正确) 9 }
1.静态方法可以被继承但是不能被重写;
public class Second { public static void eat(){ System.out.println("Secode_eat!!!"); } public void drink(){ System.out.println("Secode_drink!!!"); } }
不可以重写:
可以继承,t.eat()的结果是Second类eat()的结果:
原文:https://www.cnblogs.com/vanoraxnc/p/12150522.html