java static 关键字

简介

static在java中表示“静态的”意思,可以修饰成员变量,函数,代码块以及内部类

相关名词
  • 被static修饰的成员变量,叫做静态成员变量
  • 被static修饰的常量,叫做静态常量
  • 被static修饰的方法,叫做静态方法
  • 被static修饰的代码块,叫静态代码块
  • 被static修饰的内部类叫静态内部类
    • 静态内部类,在一定程度上可以理解为静态方法
特点
  • static修饰的所有内容,都是直接跟类进行绑定的,和对象无关
    • 需要注意一点,静态内部类是属于类本身的,和外部类的对象无关,但是静态内部类生成对象的过程,就是一个普通的创建对象,跟是否是静态内部类无关,所以,每次静态内部类生成对象都是不一样的
    • 调用的时候不需要初始化对象,直接通过类型调用即可,例如存在一个静态方法getMethod(),调用的时候可以使用如下模式: Class.getMethod()
  • static关键字,不可以修饰外部类,也就是说,只有静态内部类,但是没有所谓的静态外部类
  • static关键字修饰的各属性(成员变量,函数,代码块以及静态内部类)是在类加载的时候进行初始化的,所以,只会初始化一次
    • 初始化不等于被调用
  • static关键字修饰的内容,不需要通过对象
  • 静态方法(包括静态内部类)内不可直接使用外部类的非静态属性,但是可以初始化对象,通过对象来调用
    • 因为静态方法初始化的时候,非静态属性可能还没有完成初始化
  • 静态内部类,其实就是一个类,可以定义普通类能定义的各种属性
  • 静态方法中不能使用this和super关键字
  • 静态方法可以被继承,但是不能被重写
  • 序列化对象时,static修成的成员变量,不会被序列化
  • 抽象方法不能使用static关键字修饰
    • 因为静态方法是属于类的,所以静态方法必须满足给类调用,如果通过类无法调用,那么这种静态方法肯定是不对的。为了达到这一要求,static方法就必须有方法体,即已经实现了,也就没有类抽象方法。
  • 代码块的执行顺序:
    • 开始 --> 父类的静态代码块 --> 子类的静态代码块 --> 父类的普通代码块 --> 父类的构造方法--> 子类的普通代码块 --> 子类的构造方法 --> 结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值