专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 static关键字用法大全

static关键字用法大全

更新时间:2020-11-18 17:17:52 来源:星辉 浏览865次

无论是在平时的开发中还是求职面试的过程中,我们都会经常遇见static关键字。因此,掌握static关键字的用法成为了我们的当务之急,本文就来向大家介绍static关键字用法以解燃眉之急。


在正式学习static关键字的用法之前,我们先要弄懂static关键字的基本概念,不然学起static关键字的用法就像是无萍之水,知其然而不知其所以然。我们可以一句话来概括static关键字:方便在没有创建对象的情况下来进行调用。也就是说:被static关键字修饰的不需要创建对象去调用,直接根据类名就可以去访问。对于这个概念,下面根据static关键字的四个基本使用来描述。


了解了static关键字的基本概念,然后我们再来学习static关键字用法。


1、static关键字修饰类

java里面static一般用来修饰成员变量或函数。但有一种特殊用法是用static修饰内部类,普通类是不允许声明为静态的,只有内部类才可以。下面看看static关键字用法是怎么样的?

public class StaticTest {

//static关键字修饰内部类

public static class InnerClass{

InnerClass(){

System.out.println("============= 静态内部类=============");

}

public void InnerMethod() {

System.out.println("============= 静态内部方法=============");

}

}

public static void main(String[] args) {

//直接通过StaticTest类名访问静态内部类InnerClass

InnerClass inner=new StaticTest.InnerClass();

//静态内部类可以和普通类一样使用

inner.InnerMethod();

}

}

/* 输出是

* ============= 静态内部类=============

* ============= 静态内部方法=============

*/

如果没有用static修饰InterClass,则只能new 一个外部类实例。再通过外部实例创建内部类。


2、static关键字修饰方法

修饰方法的时候,其实跟类一样,可以直接通过类名来进行调用:

public class StaticMethod {

public static void test() {

System.out.println("============= 静态方法=============");

};

public static void main(String[] args) {

//方式一:直接通过类名

StaticMethod.test();

//方式二:

StaticMethod fdd=new StaticMethod();

fdd.test();

}

}


3、static关键字修饰变量

被static修饰的成员变量叫做静态变量,也叫做类变量,说明这个变量是属于这个类的,而不是属于是对象,没有被static修饰的成员变量叫做实例变量,说明这个变量是属于某个具体的对象的。

我们同样可以使用上面的方式进行调用变量:

public class StaticVar {

private static String name="java的架构师技术栈";

public static void main(String[] args) {

//直接通过类名

StaticVar.name;

}

}


4、static关键字修饰代码块

静态代码块在类第一次被载入时执行,在这里主要是想验证一下,类初始化的顺序。

父类静态变量

父类静态代码块

子类静态变量

子类静态代码块

父类普通变量

父类普通代码块

父类构造函数

子类普通变量

子类普通代码块

子类构造函数

代码验证一下:

首先我们定义一个父类

public class Father{

//父类静态代码块

static{

System.out.println("Father static");

}

//父类构造函数

public Father(){

System.out.println("Father constructor");

}

}

然后定义一个子类

public class Son extends Father{

//静态代码块

static{

System.out.println("Son static");

}

//构造方法

public Son(){

System.out.println("Son constructor");

}

public static void main(String[] args) {

new Son();

}

}


以上就是对static关键字用法的介绍,总的来说还是很简单的吗,我们只要牢记概念,梳清条理,就能掌握static关键字用法。想要掌握更多的Java关键字用法的相关知识可以观看本站的Java SE教程,超高质量的Java关键字用法教程等你来学!


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>