java中的三大修饰符static、final、abstract

一、static 关键字

         可以修饰:

          1.属性--> 被static关键字修饰的属性叫类变量,是全类共有的,可直接用类名访问。

                    初始化类变量是在类加载是完成。

               类加载:当虚拟机JVM第一次使用一个类时,会通过classpath找到这个类所对应的

                       字节码文件,将这个文件中包含的类信息全读入JVM并保存起来,使下次再用

                       这个类时就不需要再去加载,一个类只加载一次。

        

         2.方法 -->被static关键字修饰的方法叫静态方法,可直接用类名访问。

              静态方法的特点:

                            (1)静态方法只能访问类的静态成员(静态属性和静态方法)

                           (2)静态方法只能被子类中的静态方法覆盖,并且没有多态

                    例子:A a=new B(); A类是B类的父类

                          A中有m()方法,B中也有m()方法,则a.m()调用的是B中的m()方法;

                          如果A、B中的m()方法都是静态方法,则a.m()调用的是A中的m()方法

         3.静态代码块

                     在类加载时运行一次

 

二、final关键字

         可以修饰:

          1.变量--> 被final修饰的变量成为常量,一旦赋值,不能被修改。

         2.方法 -->如果一个方法被final修饰,说明该方法不能被子类覆盖 

         3.类-->   如果一个类被final修饰,说明该类不能被继承

 

三、abstract 抽象的

        可以修饰:

          1.类--> 不能创建对象,但可以声明对象的引用 

         2.方法 --> 只有定义,没有实现

              (1)如果一个类中有抽象方法,则这个类必须是抽象类

              (2)子类继承一个抽象类,如果子类不希望也成为抽象类,

                    就必须实现父类中所有的抽象方法

              (3)抽象类中有构造方法                  


你可能感兴趣的:(java中的三大修饰符static、final、abstract)