三大修饰符

private        私有的        属性、方法、构造方法
[defualt]    默认的        属性、方法、构造方法、类
protected    受保护的    属性、方法、构造方法
public        公开的        属性、方法、构造方法、类

static    静态的
    1. 属性
        类变量    为全类共有  可以通过 类名.属性名 访问 [重点]
        
        类变量在类加载时分配空间,并初始化。
        什么是类加载?
            当JVM第1次需要某一个类的信息时,会根据classpath路径去寻找对应的class文件
            并将class文件读取加载到JVM的过程。一般地,一个类只发生一次类加载。
            
        何时会发生类加载?
            a 创建对象时
            b 使用某个类的静态成员(属性和方法)
            c 加载子类会引发父类的类加载
            d 声明引用不会发生类加载
            
    2. 方法
        a 静态方法可以直接通过类名调用[重点]
        b 静态方法中不能直接访问实例变量和调用实例方法
        c 静态方法不依赖对象,静态方法中没有this [重点]
        d 静态方法只能被静态方法覆盖,有覆盖没有多态
    
    3. 初始代码块
        初始代码块在对象创建时(属性初始化阶段)执行,
        执行的次数跟构造方法的执行次数相同,并且早于构造方法。
        
        静态代码块在类加载时执行,类加载只发生一次,静态代码块也就只执行一次。

final    最终的
    1 变量
        常量 一旦赋值不能再次赋值。
        
        final修饰简单变量,变量中保存的值不会发生改变
        final修饰引用,引用中保存的地址值不会发生改变,引用不能指向新的对象
        
        final 修饰实例变量,有且必须在属性初始化或者构造方法中把握1次赋值机会
        final 修饰类变量,有且必须在属性初始化或者静态代码块中把握1次赋值机会
        
    2 方法
        最终的方法,不能被子类覆盖
        
    3 类
        最终的类不可以被继承
        

abstract    抽象的 【重点】
    1 类
        抽象类可以声明引用,但不能直接创建对象
        
    2 方法
        抽象方法有声明没有实现,有抽象方法的类一定是抽象类。
        
        如果子类继承一个有抽象方法的抽象父类,
        要么继续的成为抽象类,要么实现父类中的所有的抽象方法
        
        
    抽象的作用: 利用抽象类和抽象方法更好的体现“父类抽取子类共性”设计原则。
    
修饰符连用
    能否连用,取决于修饰符修饰同1组成部分时的效果是否有不可弥合的矛盾。
    
    private、final、static可以连用,但都不可以跟abstract连用。
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值