java类变量和类方法

Posted 天赋不够努力来凑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java类变量和类方法相关的知识,希望对你有一定的参考价值。

一、类变量

(1)、定义
类中用static关键字修饰的静态变量,为该类所有对象共享。
(1)、类变量内存布局
根据jdk版本不同,内存布局也是不一样的:
以前静态变量放在方法区的静态域中,静态变量count由child1和child2共享

现在静态变量放在堆中,类被加载后,会创建一个class对象在堆里,静态对象就存放在class对象内,由child1和child2对象共享

(3)、细节说明:

  1. 类变量被同一个类所有对象共享。
  2. 类变量在类加载的时候就被初始化好了,所以使用类变量可以用类名.变量名。

二、类方法

(1)、定义
类中用static修饰的方法,可以供同一个类的对象调用
(2)、使用场景:当一个方法不涉及类中成员,就可以把它定义为类方法,比如Arrays类,类方法不用创建对象就能使用该方法,所以很方便,提高了开发效率
(3)、细节说明

  1. 类方法和普通方法都是随着类的加载而加载,将信息储存在方法区。
  2. 因为类方法在类加载时就被创建好了,所以不允许出现this或super关键字。
  3. 可以用类名.静态方法名调用静态方法。
  4. 类方法只能访问静态成员,普通方法静态非静态都可以访问,当然得遵循访问权限。

以上是关于java类变量和类方法的主要内容,如果未能解决你的问题,请参考以下文章

Java学习笔记——类变量和类方法

java类变量和类方法

java类变量和类方法

java类变量和类方法

JAVA类与对象---实例变量与类变量的区别,实例方法和类方法的区别

Python中静态方法和类方法的区别