static关键字的一些使用

百度百科定义static关键字

通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例。在成员的声明前面加上关键字static(静态的)就能创建这样的成员。如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。你可以将方法和变量都声明为static。

总的来说,用static声明的静态变量就是一种 独立于类的对象的方法或属性

在B站上听了狂神老师的课程,我了解到了static的一些重要特性,在这里进行一些归纳总结:

1.static声明的方法和属性是可以直接用类名调用,而不需要对象调用的

譬如,在类A中:

class A{
    public static int num1;
    public int num2;
}

此时想在主类里面调用num1,num2则:

public class B{
    public static void main(String[] args){
        A a = new A();
        System.out.println(A.num1);//此处可以用a.num1也可
        System.out.println(a.num2);//此处只能用对象a调用
    }
}

静态方法与之同理

2.针对代码块而言, static代码块 先于 非静态代码块 先于 构造方法

static关键字的一些使用

如图所示,在创建对象时,执行构造方法之前会先执行代码块内的内容,而static先于非静态的,再次说明 static声明的内容是和类一起初始化的,而不是对象

注:static声明的内容只执行一次,无论创建多少次对象都只执行一次

也就是说,还是上面的例子,如果:

A a = new A();
A b = new A();
A c = new A();

static的代码块的内容还是只执行一次

3.静态导入包的使用

在对其他的工具包进行导入时,可以添加static关键字,例如:

import static java.lang.System.out;

在你想要进行System.out.println(“”)输出时,可以写作:

out.println("");

我的理解是,通过导入System包的out变量,并用static来修饰这一个out变量,使之在该java文件中的out变成一个静态变量,就可以像调用类中static修饰的变量一样,直接调用out。

这是我的static关键字学习过程中的收获,如果大家有不同的想法欢迎讨论。

Original: https://www.cnblogs.com/cola-pink/p/15805821.html
Author: 可乐加品客
Title: static关键字的一些使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/714357/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球