12.Java核心技术—static、final修饰符的使用

static使用总结:  

      1.可以修饰属性、方法、初始代码块,成为类变量、静态方法、静态代码块
                  注:初始代码块是在类中而不是在任何方法之内的代码块,无方法名、无返回值,即{...}

      2.类变量、静态方法、静态代码块与具体的对象没有关系,只与类相关,是全类共有的,在类第一次加载的时候初始化。

      3.类加载:JVM通过CLASSPATH找到字节码文件,并将字节码文件中的内容通过I/O流读到JVM并保存的过程。

      4.类变量和静太方法可以在没有对象的时候用类名调用,我们一般都是用类名来调用的。

      5.静态方法不可被覆盖(允许在子类中定义的同名的静态方法,但是没有多态)即如果父类有个静态方法,子类也定义一个跟它同名的静态方法,此时有一个父类

         变量引用子类对象,这个变量调用这个方法,调用的是父类的方法。我们要注意的是,子类不能覆盖为非静态方法;当然父类是非静态方法,子类不能覆盖为静

         态方法。

      6.最需要注意的static不能修饰局部变量。

       一个问题:为什么主方法必须是静态方法?主方法是整个程序的入口,JVM只能通过类名去调用主方法。

 final的使用总结:

   final译为最终的、最后的,当final修饰时,不能被改变,不能被继承
    1.final 可以用来修饰类、属性和方法、局部变量。

    2.final 修饰一个属性时,该属性成为常量。 对于实例常量的赋值有两次机会,一次在初始化的时候通过声明赋值,一次在构造的时候(构造方法里)赋值,但是需

         要注意的是,不能再声明是赋值,再在构造时又一次赋值。 final修饰的属性必须给它赋值。

    3.final 修饰方法时,该方法成为一个不可覆盖的方法。

    4.final 修饰类时,该类不可被继承,即final类没有子类。 final 修饰的类中的所有方法默认全是final方法; final 不能修饰构造方法;
        

posted on 2012-05-02 15:26  ssy黑桃a  阅读(251)  评论(0编辑  收藏  举报