Java Static import

本文介绍了Java语言中的Static Import特性,通过实例展示了如何简化代码书写,并讨论了使用Static Import时可能出现的冲突问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载请注明来自:黄朝辉的博客

1.前言

“Static import ”是Java语言的一种特性,可以让一个类中以public static定义的成员(公有静态成员和公有静态方法)在Java代码中使用而无需指定该成员所在的类。

2.一个小例子

下面是一个简单的例子。

package cn.sehzh;

public class Main {
    public static void main(String[] args) {
        System.out.println("Considering a circle with a diameter of 5 cm, it has:");
        System.out.println("A circumference of " + (Math.PI * 5) + " cm");
        System.out.println("And an area of " + (Math.PI * Math.pow(2.5,2)) + " sq. cm");
    }
}

可以被写为:

package cn.sehzh;

import static java.lang.Math.*;
import static java.lang.System.out;

public class Main {
    public static void main(String[] args) {
        out.println("Considering a circle with a diameter of 5 cm, it has:");
        out.println("A circumference of " + (PI * 5) + " cm");
        out.println("And an area of " + (PI * pow(2.5,2)) + " sq. cm");
    }
}

通过static import,无需指定out.println前的SystemPI前的Math

3.注意

如果从不同类中导入的成员中有两个同名的成员,编译器是会报错的。
下面的例子就很好的说明了这个问题。

package cn.sehzh;

import static java.lang.Integer.*;
import static java.lang.Long.*;

public class Main {
    public static void main(String[] args) {
        System.out.println(MAX_VALUE);
    }
}

错误指示如下:

The field MAX_VALUE is ambiguous

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值