java类变量和类方法
Posted 天赋不够努力来凑
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java类变量和类方法相关的知识,希望对你有一定的参考价值。
一、类变量
(1)、定义
类中用static关键字修饰的静态变量,为该类所有对象共享。
(1)、类变量内存布局
根据jdk版本不同,内存布局也是不一样的:
以前静态变量放在方法区的静态域中,静态变量count由child1和child2共享
现在静态变量放在堆中,类被加载后,会创建一个class对象在堆里,静态对象就存放在class对象内,由child1和child2对象共享
(3)、细节说明:
- 类变量被同一个类所有对象共享。
- 类变量在类加载的时候就被初始化好了,所以使用类变量可以用类名.变量名。
二、类方法
(1)、定义
类中用static修饰的方法,可以供同一个类的对象调用
(2)、使用场景:当一个方法不涉及类中成员,就可以把它定义为类方法,比如Arrays类,类方法不用创建对象就能使用该方法,所以很方便,提高了开发效率
(3)、细节说明
- 类方法和普通方法都是随着类的加载而加载,将信息储存在方法区。
- 因为类方法在类加载时就被创建好了,所以不允许出现this或super关键字。
- 可以用类名.静态方法名调用静态方法。
- 类方法只能访问静态成员,普通方法静态非静态都可以访问,当然得遵循访问权限。
以上是关于java类变量和类方法的主要内容,如果未能解决你的问题,请参考以下文章