栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

浅析java 的 static 关键字用法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

浅析java 的 static 关键字用法

本篇浅析java中static的用法,主要五个方面:静态成员变量,静态方法,静态块,静态内部类,静态导包。

首先还是一张表格说一下静态对象和非静态对象的区别:

静态对象 非静态对象
归属 类共同具有 类的各个实例独立拥有
内存分配 内存空间上固定的 附属类分配
分配空间顺序 优先分配静态对象空间 优先分配静态对象空间,初始化也一样

1 静态变量,静态方法,静态块

静态对象,静态方法都是在原对象和方法上加上static关键字修饰,表示类可以直接调用这些,而不需要实例化后再调用。具有的好处是:

1--静态对象的数据是全局唯一的,一改都改,可以保证数据的唯一性

2--引用方便,直接用类名.方法(属性)就可以了,不用再get和set

当然静态方法(变量,块)也有相应的限制:

1--不能调用其他非静态方法(只能调用static方法)

2--只能访问static数据

3--不能以任何方式引用this或super

示例代码:

public class StaticExercise {
public static String sky="jeyson";
public static String getMySky(String sky){
return sky;
}
static {
System.out.println("这是静态块中的内容--");
System.out.println("静态块:"+getMySky(sky));
}

@Test
public void testStatic1(){
System.out.println(sky);
System.out.println("-----------------");
System.out.println(getMySky(sky));
System.out.println("-----------------");
System.out.println(StaticTest.getSms());
}
} 

2 静态内部类

当一个类跟另一个类(外部类)有紧密的联系,一般只有用到外部类的时候才会用该类的话,可以将该类作为静态的内部类。这样就可以随着类的加载而直接产生。不用再可以实例化。

使用方法:随类一同被加载,调用直接外部类.内部类.静态对象(方法)

示例代码:

class StaticTest{
public static String sms="to my sky";
public static String getSms(){
return sms;
}

static class InnerStatic{
public static final String MYSKY="MY FINAL SKY";
}
} 
@Test
public void testStatic2(){
System.out.println(StaticTest.InnerStatic.MYSKY);
} 

2 静态导包

如果要用的静态方法所在的类跟当前类不在同一个包下,可以使用静态导包。这样你想要用的静态方法或变量就相当于在该类中直接可见,无需再类名.静态变量的方式调用。

使用方法:

import static 包名.类名.静态成员变量(方法)

好处:

被导入的静态变量和方法在该类中直接可见,直接用

坏处:

一定程度上降低了代码的可读性

代码示例:

public class MyStaticimportTest {
public static final int number=55;
public static void getMyWords(){
System.out.println("hello ,这是一个静态导包的测试");
}
} 

import static com.generic.MyStaticimportTest.number;
import static com.generic.MyStaticimportTest.getMyWords;

public class StaticExercise {

@Test
public void testStatic3(){
//静态导入后可以直接用
int myNumber=number;
getMyWords();
}
} 

以上所述是小编给大家介绍的浅析java 的 static 关键字用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对考高分网网站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/149801.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号