java面向对象static_java面向对象(上)-- static关键字

static关键字

在java中,定义了一个static关键字,它用来修饰类的成员,如成员变量,成员方法以及代码块等,被static修饰的的成员具备一些特殊性。

static关键字的基本作用,简而言之,一句话来描述就是:方便在没有创建对象的情况下来进行调用(方法/变量)。

静态变量

在类中,用static声明的成员变量为静态成员变量,也成为类变量。静态变量被所有实例共享,可以使用'类名.变量名'的形式来访问。类变量的生命周期和类相同,在整个应用程序执行期间都有效。

f2769d0003c4f90285b50f8cd9900b51.png

运行结果:

c92a43ab4906085d76baaee7beb1334e.png

Student类中定义了一个静态变量schoolName,用于表示学生所在的学校,它被所有实例共享,可以直接使用Student.schoolName的方式进行调用,也可以通过Student的实例对象进行调用。

注意:static关键字只能用于修饰成员变量,不能用于修饰局部变量,否则编译会报错!!!

静态方法

有时候我们希望在不创建对象的情况下就可以调用某个方法,也就是使该方法不必和对象绑在一起。要实现这样的效果,只需要在类中定义的方法前加上static关键字即可,这种方法被称为静态方法。同静态变量一样,静态方法可以通过''类名.方法名'的方式来调用。

c106b8bff76dd3c007083509147a68df.png

运行结果:

f0c05bfd1cf273ab032f84ba6e3feda9.png

简单点来说:静态方法不需要创建对象就可以调用。

注意:在一个静态方法中只能访问用static修饰的成员,因为没有被static修饰的成员变量需要先创建对象才能访问,而静态方法在被调用时可以不创建任何对象。

静态代码块

在java类中,使用一对大括号包围起来的若干行代码被称为一个代码块,用static关键字修饰的代码块就是静态代码块。当类被加载时,静态代码块会执行,由于类只加载一次,一次静态代码块只执行一次。在程序中,通常会使用静态代码块来对类的成员变量进行初始化。

de0bfb85d37e3316e0dc2a8f0caf338f.png

虚拟机首先会加载类Example,在加载类的同时就会执行该类的静态代码块,紧接着会打印main()方法。在该方法中创建了两个Person对象,但在两次实例化对象的过程中,静态代码块值执行一次,说明类在第一次使用时才会被加载,并且只会加载一次。

注意:

Java中的static关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)这几个关键字

静态成员变量虽然独立于对象,但是不代表不可以通过对象去访问,所有的静态方法和静态变量都可以通过对象访问(只要访问权限足够)

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值