三大修饰符

来源:互联网 发布:淘宝需要品牌授权 编辑:程序博客网 时间:2024/05/16 10:36
三大修饰符: static final abstract
修饰符分类:访问修饰符(public、private、protected、default)
static
    修饰对象:属性、方法和初始代码块
    类:静态内部类
    Class Outer{
        static Class Inner{
        }
    }
    属性:全类共有
        成员变量:包括实例变量和类变量(静态变量)。但普遍将非静态成员变量叫做成员变量。
        访问方式:类名访问 类名.属性
    方法:全类共有
        调用方式:类名调用 类名.方法
        注意要点:
        (1)静态方法不能调用非静态方法,由于非静态的方法在创建对象时才会出现,而静态方法是在类加载时出现的,所以用静态方法调用非静态方法,非静态方法可能还没有出现对象。
        (2)静态方法覆盖要求子类中的方法必须也是静态方法,而且没有多态。
        静态方法的调用只和引用有关,对引用调用静态方法,等同于对引用的引用类型调用静态方法。
    初始代码块:初始化属性时运行
                补充:
                (1)类的创建步骤中、第三步是初始化本类属性
                (2)类加载:java中有一个类叫classLoader在遇到创建类时,会加载类。是属于虚拟机的组件,当虚拟机第一次遇到一个类时,会到ClassPath中找到对应的字节码文件,将内容读入虚拟机保存起立,只执行一次。
                (3)类加载出现的时机:创建类对象时,访问静态成员。声明类的引用不会发生类加载。
                (4)出现的过程:加载父类、按照程序定义的顺序,初始化静态成员或执行静态初始化代码。
特例:static是不可以修饰类的 但都可以修饰内部类 换句话说就是以上内容是针对的都是外部类。
final
    修饰对象:类、属性和方法
    类:修饰的类不能被继承
    方法:修饰的方法不能被子类覆盖,只能继承。
    属性:一旦修饰赋值即为常量。变量没有默认值,要求程序猿主动赋值。
            赋值时机:初始化属性、构造方法和静态初始代码块。
abstract
    修饰对象:类和方法
    类:只能声明引用,不能创建对象,主要供子类继承
    方法:只有声明没有实现。
    要点:
    (1)一个类中有一个抽象方法,那么这个类一定是抽象方法。如果一个类不想变成抽象类,就要把抽象方法实现。
    (2)可有构造方法
    (3)final、static和private都不能和abstract相遇
0 0