Static(静态)关键字入门

一.static 有什么用?

1.可以修饰成员变量,成员方法,内部类

2,不可修饰局部变量(局部变量属于类的,不属于方法,而静态是定义在类上的)。

二.static成员 的特点

1,被类中对象共享。

2,通过类名进行调用。

3,随着类的加载而加载。

4,优先于对象存在

三.static方法的访问特点

1,静态方法只能调用静态成员(静态成员变量,静态成员方法)。

2.非静态方法可以调用任意成员。

原因:类优先于方法存在,非静态属于对象方法,静态属于类的方法,先进内存不能访问后进内存,非静态方法需要创建对象,用对象进行调用。

同理:静态方法中也不能用this,因为this是对象,类优先于对象存在,对象还没存在,所以不能写。

四.Java中可以重写private or static 的方法?

不可以

原因;1.private 修饰的方法是不可被重写的,private修饰只能在本类使用。

2.静态方法可以被继承,但没有意义,因为子类不是重写而是产生一个于父类毫无关系的静态方法,父类的隐藏了。

So,子类不能继承父类私有的或者是静态的方法

五.抽象方法可以被static修饰吗?

不能,抽象方法没有方法体,调没方法体的方法没意义。

六.静态内部类

静态内部类可以定义静态和非静态的成员变量和方法。

非静态的内部类只能定义非静态的成员(成员变量,成员方法)。

静态内部类只能访问内部静态和非静态的成员,只能访问外部类中的静态成员。

非静态类可以全访问,(内部静态和非静态的成员,外部的静态成员和非静态成员)

七,静态代码块

随着类的加载而加载,优先于构造方法执行,只执行一次,作用是:用于类的初始化,加载驱动。

八.static是把双刃剑

利:

1共享静态方法,节省空间,没必要每个对象储存一份。

2.可以通过类名调用。(工具类,单例模式)

弊:

1.静态方法随着类的加载而加载,随着类的消失而消失,生命周期长。

2.访问局限,只能访问外部静态资源。

转载于:https://www.cnblogs.com/fengtangjiang/p/11104526.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值