Java中的静态关键字

 2024-02-06 01:05:23  阅读 0

关键字概述及特点 什么是静态? 静态有什么特点?

如果成员使用了关键字,那么该成员不再属于对象,而是属于类,并且将被该类的所有对象共享。 记忆里只有一个。

如果一个成员不使用关键字,那么这个成员就属于该对象,每个对象都会有自己的成员。

总结:
    1. 静态指的就是Java中的关键字static, static是一个修饰符
        问题:static可以修饰什么?
            成员:    ● 成员变量
                     ●  成员方法
    2. ● 这个静态成员被该类所有的[对象]所[共享]
       ● 优先于对象存在,随着类的加载而加载
       ● 多了一种调用方式,可以根据   类名.  进行调用

看一段代码:

class Student {
//因为同一个学校的学生类,school属性是相同的,所以用静态修饰,省内存
    String name;
    int age ;
    static String school;
    }

方法区分为静态区和非静态区。 静态成员变量在字节码加载后就具有初始化值,非静态成员变量只有在对象创建时才初始化。

对象创建后,非静态成员变量被放入堆中并初始化。 静态成员变量保留在方法区中。

思路:什么时候使用静态成员变量?

静态成员变量可以通过创建对象来调用,也可以通过类名直接访问(推荐)

类名.变量名

公共(共享)属性使用静态,特性使用非静态

例如饮水机:静态(非共享) 水杯:非静态(非共享)

什么时候应该使用静态修改的成员方法?

如果修改了成​​员方法,也意味着该方法不再属于对象,而是属于类。

静态方法可以通过对象或类名调用(推荐)。 如果调用同一个类的静态方法,可以省略类名。

工具类:定义一个类,类中有一些提供服务的方法。 为了使这些方法的调用更加方便,一般将这些方法定义为静态的。 如果一个类中的所有方法都是静态的,通常会多执行一步。 操作,即私有构造函数的目的是防止其他类访问该构造函数来创建对象。 由于我已经允许您通过类名调用它,因此您不应该创建该对象。

工具类 该类提供一些服务方法。 这个类如果单独存在就没有任何价值。 它完全为其他类提供服务。

类名.   
例如: ArrayUtils.getMax(arr);
      Arrays.toString(arr);

静态方法的方法访问特点及注意事项:

1.可以调用静态成员变量和成员方法

2.非静态成员变量和成员方法不能被调用

3. 静态成员只能在静态方法中调用

总结:静态只能访问静态

非静态方法(一切都可以访问)

1. 可以调用静态成员,也可以调用非静态成员。

重点:中没有super和this关键字

因为this和super只有在对象创建之后才存在,所以会随着类的加载而加载。 当使用时,有可能对象还没有被创建。

静态代码块

典型用途:用于一次性给静态成员变量赋值。

格式:
    static {
        方法体
    }

第一次使用该类时,该代码块只执行一次,第二次使用时不再执行。 静态内容始终优先于非静态内容,因此静态代码块在构造函数之前执行。

标签: 静态 成员 调用

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码