圣思园java se培训总结(22-24)(static和final)

  1. 一个类中的static修饰的属性,被类的所有的对象共用,只要这个变量发生了变化,其他对象引用static变量也会是改变后的变量。
  2. 因为static引用的变量是所有对象公有的,所以可以用类调用它
  3. static修饰的方法可以被子类继承,但是不能覆写,如果子类和父类有同名同参数且都是static修饰的方法的时候,父类的静态方法在子类中会隐藏
    class A{
      public static void foobar(String s){
        System.out.println(s);
      }
    }
    class B extends A{
    
      @overried // 编译器会报错
      public static void foobar(String s){
         System.out.println(s);
       }
    }
    public static void main(String [] args){
       A a= new B();
       a.foorbar();//这里会调用父类的方法,如果foobar方法是普通的成员方法,
                   //没有static修饰的话,就会调用子类的覆写后的方法,即指向谁,
                   //调用谁,但是有static修饰的方法,子类和父类中的方法签名相同,
                   //会按照对象左边(是谁的声明)就去调用谁的方法。
    }
原文地址:https://www.cnblogs.com/yuxishua/p/5021042.html