三大修饰符

代码块

作用:封装一段代码块
语法:
    {}
定义位置:
    1.方法中
    注意
        此时不会影响代码的运行 定义相等于没有定义
    2.类中,方法以外
    注意:
        1.此时每次创建该类对象时,就会执行该代码块中的代码
        2.该代码块在构造函数前执行 JVM调用
        3.在对象的属性赋初始值之后执行

static

含义:静态
可以修饰:
    属性
        含义:公共的(使用static修饰符属性属于该类的所有对象,如果其中一个对其进行修改,那么该类的所有对象的静态属性都会改变)
        使用方式:
            对象名.属性名
            类名.属性名
        注意:
            static修饰的属性不管该类有多少个对象 该属性只有一个
    方法
        含义:静态方法
        使用方式:
            对象名.方法名(形参列表);
            类名.方法名(形参列表);
        注意:
            静态方法中不能直接使用非静态成员(没有使用static修饰的属性或方法)
            静态方法中不能使用this或super关键字
    代码块
        调用时机:JVM加载该类时使用 
                由于一个类只会加载一次 所以该代码块只会被执行一次
        语法:
            static{
            
            }
    内部类(目前还没有学到)

类加载

总结:使用该类时
eg:
    使用类名调用静态属性或静态方法
    使用该类对象
    创建其子类对象
    使用反射获取该类对象时

在静态状态下对象的创建过程

没有继承关系:
    1.加载该类
    2.给静态属性赋初值
    3.执行静态代码块中的代码
    4.在堆内存中开辟空间
    5.给非静态属性赋初值
    6.执行代码块中的代码
    7.执行构造函数
    8.赋值给栈中的引用
    总结
        先静态 后非静态

final

含义:最终的  不可修改的
可以修饰:
    类
        语法:
            访问权限修饰符 final class 类名{
            
            }
        特点:final修饰的类不能被别的类继承
    属性
        语法:
            访问权限修饰符 final 数据类型 变量;  //常量
        特点:
            final修饰的属性必须在声明时赋值
            值不能被修改
    方法
        语法:
            访问权限修饰符 final 返回值类型 方法(形参列表){
            
            }
        特点:
            final修饰的方法不能被重写
    局部变量:
        语法:
            final 数据类型 变量;
        注意:
            final修饰的局部变量只能赋值一次
            与属性不同的是  不需要在声明是就赋值
​
名称:
    公共静态常量:public static final 修饰的属性
    公共静态方法:public static 修饰的方法

常量

概念:不能被修改的变量或值称为常量

abstract

含义:抽象的
可以修饰:
    类
        特点:不能直接创建对象
        语法:
            访问权限修饰符 abstract class 类名{
                属性
                方法
                构造函数
                代码块
                静态代码块
                ..
            }
    方法
        特点:没有方法体
        语法
            访问权限修饰符 abstract 返回值类型 方法名(形参列表);
        注意:
            有抽象方法的类一定是抽象类
            抽象类中不一定有抽象方法
子类继承抽象类
    要么子类也是抽象类
    要么重写父类的所有抽象方法
​
​
abstract能否与static一起使用?
    abstract可以修饰类 方法
    static可以修饰 属性 方法 代码块 内部类
    经过检验方法
    不能一起使用
abstract能否与final一起使用
    abstract可以修饰类  方法
    final可以修饰类 方法 属性 局部变量
    经过检验类 方法不能一起使用
static与final是否可以一起使用
    可以一起修饰 方法 属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值