Java类变量和类方法详解

类变量和类方法

  1. /*
    * 定义一个类变量(静态变量 static)count
    * 该变量最大的特点就是会被Child 类的所有的对象实例共享
    * 类变量可以通过类名来访问
    *
    * 静态(static)变量是同一个类所有对象共享
    * static类变量 在类加载的时候就生成了
    */
    public static int count = 0;
    
    public class VisitStatic {
        public static void main(String[] args) {
            // 访问方式:类名.类变量名
            // 说明:类变量是随着类的加载而创建的 所有即使没有创建对象实例也可以访问
            System.out.println(Aa.name);
        }
    }
    
    class Aa {
        public static String name = "蔡蔡";
    }

  2. 类变量的使用细节:

    1. 什么时候使用?

      1. 当我们需要让某个类的所有对象都共享一个变量时,就可以考虑使用类变量(静态变量)

    2. 类变量与实例变量(普通属性)的区别

      1. 类变量是该类所有对象共享的,实例变量是每个对象独享的

    3. 加上static称为类变量或静态变量 否则称为实例变量/普通变量/非静态变量/实例变量

    4. 类变量可以通过 类名.类变量名 或者 对象名.类变量名 来访问 推荐使用类名.类变量名

    5. 实例变量不能通过类名.变量名来访问

    6. 类变量在类加载的时候就初始化了,也就是说,即使你没有创建对象,只要类加载了,就可以使用类变量了

    7. 类变量的生命周期是随类的加载开始,随着类的消亡而销毁

  3. 类方法

    1. 类方法也叫静态方法 方法用static修饰

    2. 类方法的调用:类名.类方法名

    3. 当方法中不涉及到任何对象的成员,则可以

    4. 如果我们不希望创建实例,也可以点用某个方法(即当作工具来使用)

  4. 类方法的使用细节

    1. 类方法和普通方法都是随着类的加载而加载 将结构信息存储在方法区 类方法中无this参数 普通方法中隐含着this参数

    2. 类方法可以通过类名调用,也可以通过对象名调用

    3. 普通方法和对象有关,需要通过对象名调用,比如对象名.方法名(参数),不能通过类型调用

    4. 类方法中不允许使用和对象有关的关键字 this和super都不能用

    5. 类方法/静态方法中只能访问 静态变量或静态方法

    6. 非静态方法既可以访问静态成员(变量、方法),也可以访问非静态成员(变量、方法)

你可能感兴趣的:(Java基础,java)