当前位置: 首页 > 面试题库 >

Java中的静态导入

秋飞鸾
2023-03-14
问题内容

静态导入是什么意思,例如:

import static com.example.foo.Suggestion;

如何定义这样的软件包?使用静态导入有什么优势?


问题答案:

import static 表示您可以引用静态值而无需使用类名。

例如,考虑以下三个类:

package com.example;
public class foo {
    public static int Suggestion = 5;
}



import com.example.foo;
public class b {
    // …
    int var = foo.Suggestion;
}



import static com.example.foo.Suggestion;
public class c {
    // …
    int var = Suggestion;
}


 类似资料:
  • 在 JDK 1.5 之后增加了一种静态导入的语法,用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法。如果一个类中的方法全部是使用 static 声明的静态方法,则在导入时就可以直接使用 import static 的方式导入。 静态导入使用 import static 语句,静态导入也有两种语法,分别用于导入指定类的单个静态成员变量、方法和全部静态成员变量、方法,其中导入指定类的单

  • 问题内容: C#是否具有Java静态导入之类的功能? 所以不用像写代码 我会写 而且编译器会知道我的意思是FileHelper中的方法。 问题答案: 从C#6.0开始,这是可能的: 但是,早期版本的C#没有静态导入。 您可以使用该类型的别名来关闭。 或者,将静态方法更改为类型的扩展方法 -然后可以按以下方式调用它:

  • 问题内容: 有什么像在Java中吗? 这样的课是什么意思。静态类的所有方法都需要吗? 是否需要反过来,如果一个类包含所有静态方法,那么该类也应该是静态的吗? 静态类有什么用? 问题答案: Java具有静态嵌套类,但听起来你正在寻找顶级静态类。Java无法将顶级类设为静态,但是你可以像这样模拟静态类: 声明你的课程-阻止扩展课程,因为扩展静态课程没有意义 创建构造函数-防止通过客户端代码实例化,因为

  • 问题内容: 前几天,我在查看一些代码,然后发现: 来自C ++,我不知道为什么会这样。它不是错误,因为代码编译良好。这个“静态”代码块是什么? 问题答案: 这是一个静态初始化器。它是在加载类时执行的(确切地说是初始化,但通常不会注意到它们之间的区别)。 可以将其视为“类构造函数”。 请注意,还有一些实例初始化器,它们看起来一样,只是它们没有static关键字。当创建对象的新实例时,除了构造函数中的

  • 静态类有什么好处?

  • 问题内容: 我碰巧在工作场所遇到了Java代码。这是场景:有2个类- 和。 除了4个公共静态最终字符串值外,没有任何内容。它的目的是使用类似的值(不要问我为什么,这不是我的代码)。 进口。我在其中编辑了字符串值并对其进行了编译。当我运行时,我可以看到它正在使用旧值- 而不是新值。我不得不重新编译以使其使用来自的新值!(我不得不重新编译其他导入的类!) 这是仅因为JDK 1.6还是我早就应该知道重新