详解java中static关键词的作用

在java中,static是一个修饰符,用于修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能;被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。

static关键词的作用

1、静态成员变量的语法特定
2、静态函数的语法特定
3、静态代码块的语法特定

定义静态成员变量

Person.java

class Person{
static int a;
}

按照以前可以这么调用

public class Test1{
public static void main(String[] args){
Person person = new Person();
person.a = 10;
System.out.println(person.a);
}
}

输出结果为10。

加上static后也可以这么使用:

public class Test1{
public static void main(String[] args){
Person.a = 10;
System.out.println(Person.a);
}
}

输出结果为10。

普通成员对象和静态成员变量的区别

普通成员变量对应p1和p2互不影响。而静态成员变量,p1和p2使用的是同一个变量。

静态函数

静态函数中不能直接引用非静态的成员变量,在静态函数中不能使用this.

定义静态函数

Person.java:

class Person{
static void fun(){
System.out.println("static function");
}
}

Test1.java

public class Test1{
public static void main(String[] args){
Person.fun();
}
}

输出:static function

静态代码块

静态代码块是在装载类的时候执行,作用是初始变量。

static{
System.out.println("static code");
}

到此这篇关于详解java中static关键词的作用的文章就介绍到这了,更多相关java中static关键词内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • InterlliJ IDEA2020新建java web项目找不到Static Web的解决

    由于IDEA版本更新,在新建工程的时候找不到Static Web,而且在插件里也找不到,没法下载. 如图:没有Static Web 新建项目的方法如下: File-->Project-->Java Enterprise-->Web Application--next 项目命名-->选择文件存放路径--Finish 在那个窗口新建由自己选择. 新建项目结构 运行效果 到这里就创建好了,根据自己的需求建文件就可以了. 到此这篇关于InterlliJ IDEA2020新建java web

  • Java static(静态变量)和私有化功能与用法分析

    本文实例讲述了Java static(静态变量)和私有化功能与用法.分享给大家供大家参考,具体如下: 1.static作用主要有两方面:其一,当希望类中的某些属性被所有对象共享,则就必须将其声明为static属性:其二,如果一个类中的方法由类名调用,则可以将其声明为static方法. 2.需要注意的是,非static声明的方法可以去调用statci声明的属性和方法:但是static声明的方法不能调用非static类型的声明的属性和方法. 3.static方法调用static变量 public c

  • 一文带你快速了解java中的static关键词

    Static基本规则: (1)一个类的静态方法只能访问静态属性. (2)一个类的静态方法不能直接调用非静态方法. (3)如果访问权限允许,static属性和方法可以使用对象加'.'方式调用,当然也可以使用实例加'.'方式调用. (4)静态方法中不存在当前对象,所以不能使用this,当然也不能使用super. (5)静态方法不能被非静态方法覆盖. (6)构造方法不允许被声明为static的. static关键词,可以加在方法上,成员变量上,代码块. 类就不要想了. 1. static方法 stat

  • Java static方法用法实战案例总结

    本文实例讲述了Java static方法用法.分享给大家供大家参考,具体如下: 一 点睛 用static可以声明一个静态属性变量,其实,也可以用来声明方法,用它声明方法时也称为"类方法".使用static定义的方法可以由类名直接调用. static的main方法可以接收一个String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数.格式如下: java 类名称 参数1 参数2 参数3 二 实战--静态方法的声明 1 代码 class Person { String

  • 详解java中static关键词的作用

    在java中,static是一个修饰符,用于修饰类的成员方法.类的成员变量,另外可以编写static代码块来优化程序性能:被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问. static关键词的作用 1.静态成员变量的语法特定 2.静态函数的语法特定 3.静态代码块的语法特定 定义静态成员变量 Person.java class Person{ static int a; } 按照以前可以这么调用 public class Test1{

  • 详解JAVA中static的作用

    1.深度总结 引用一位网友的话,说的非常好,如果别人问你static的作用:如果你说静态修饰 类的属性 和 类的方法 别人认为你是合格的:如果是说 可以构成 静态代码块,那别人认为你还可以: 如果你说可以构成 静态内部类, 那别人认为你不错:如果你说了静态导包,那别人认为你很OK: 那我们就先在这几方面一一对static进行总结:然后说一些模糊的地方,以及一些面试中容易问道的地方: 1)static方法 static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方

  • 详解Java中static关键字的使用和原理

    目录 概述 定义和使用格式 类变量 静态方法 调用格式 静态原理图解 静态代码块 概述 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的.也就是说,既然属于类,就可以不靠创建对象来调用了. 定义和使用格式 类变量 当 static 修饰成员变量时,该变量称为类变量.该类的每个对象都共享同一个类变量的值.任何对象都可以更改 该类变量的值,但也可以在不创建该类的对象的情况下对类变量进行操作. 类变量:使用 static关键字修

  • 详解Java中static关键字和内部类的使用

    目录 一. static 关键字 1. static修饰成员变量 2. static修饰成员方法 3. static成员变量的初始化 二. 内部类 1. 实例内部类 2. 静态内部类 3. 局部内部类 4. 匿名内部类 一. static 关键字 在Java中,被static修饰的成员,称之为静态成员,也可以称为类成员,其不属于某个具体的对象,是所有对象所共享的. 1. static修饰成员变量 static修饰的成员变量,称为静态成员变量 [静态成员变量特性]: 不属于某个具体的对象,是类的属

  • 详解Java中hashCode的作用

    详解Java中hashCode的作用 以下是关于HashCode的官方文档定义: hashcode方法返回该对象的哈希码值.支持该方法是为哈希表提供一些优点,例如,java.util.Hashtable 提供的哈希表. hashCode 的常规协定是: 在 Java 应用程序执行期间,在同一对象上多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是对象上 equals 比较中所用的信息没有被修改.从某一应用程序的一次执行到同一应用程序的另一次执行,该整数无需保持一致. 如果根据

  • 详解java中的static关键字

    Java中的static关键字可以用于修饰变量.方法.代码块和类,还可以与import关键字联合使用,使用的方式不同赋予了static关键字不同的作用,且在开发中使用广泛,这里做一下深入了解. 静态资源(静态变量与静态方法) 被static关键字修饰的变量和方法统一属于类的静态资源,是类实例之间共享的.被static关键字修饰的变量.方法属于类变量.类方法,可以通过[类名.变量名].[类名.方法名]直接引用,而不需要派生一个类实例出来. 静态资源分类存放的好处 JDK把不同的静态资源放在了不同的

  • 详解Java中@Override的作用

    详解Java中@Override的作用 @Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1.可以当注释用,方便阅读: 2.编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错.例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法. 举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性. @Overr

  • 详解Java中list,set,map的遍历与增强for循环

    详解Java中list,set,map的遍历与增强for循环 Java集合类可分为三大块,分别是从Collection接口延伸出的List.Set和以键值对形式作存储的Map类型集合. 关于增强for循环,需要注意的是,使用增强for循环无法访问数组下标值,对于集合的遍历其内部采用的也是Iterator的相关方法.如果只做简单遍历读取,增强for循环确实减轻不少的代码量. 集合概念: 1.作用:用于存放对象 2.相当于一个容器,里面包含着一组对象,其中的每个对象作为集合的一个元素出现 3.jav

  • 浅谈Java中static关键字的作用

    static关键字主要有两种作用: 第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 具体而言,在Java语言中,static主要有4中使用情况:成员变量.成员方法.代码块和内部类 (1)static成员变量: Java类提供了两种类型的变量:用static关键字修饰的静态变量和不用static关键字修饰的实例变量.静态变量属于类,在内存中只有一个复制,只要静态变量所在的类被加载,这个静态变量就会被分配空间,因此就可以被使

  • 详解Java中native方法的使用

    今天在网上学习时碰到有关于 native修饰符所修饰的方法,上网查了查,觉得很有意思记录一下 1.native简介 简单地讲,一个Native Method就是一个java调用非java代码的接口.一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C.这个特征并非java所特有,很多其它的编程语言都有这一机制,比如在C++中,你可以用extern "C"告知C++编译器去调用一个C的函数. native是与C++联合开发的时候用的!使用nat

随机推荐