【问题标题】:Is it possible to avoid package and import statement?是否可以避免 package 和 import 语句?
【发布时间】:2016-07-03 14:51:35
【问题描述】:

所以我了解到,如果我有两个包说:一个默认包和另一个包“com.projectjava”,其中包含一个类,比如 MyClass.java,那么我需要在其中使用一个包语句:

package com.projectjava;

public class MyClass {
    ...
}

并且,在默认包中,我需要一个 import 声明的主要功能:

import com.projectjava.*;

public class MyClassTest {
    ...
}

是否可以同时避免 import 和 package 语句并使用完整的声明语法,例如 com.projectjava.MyClassTest?包装声明是必需的吗?

【问题讨论】:

  • 是的,这是合法的。事实上,如果你有两个来自不同包的同名类,它是必需的。
  • 我不确定您所说的“避免包装声明”是什么意思。如果你希望你的类在一个包中,那么 package 语句是必需的。如果你没有放一个包声明,那么你的类就在默认包中。但这是非常非常糟糕的做法。如果这样做,您将遇到各种问题(例如,无法在包中的其他类中使用该类)。

标签: java import package


【解决方案1】:

package 是必需的,如果您的类发现自己位于 default package 以外的包中


如果您不想使用import,您可以简单地使用类的完全限定名称,例如java.util.regex.Pattern

【讨论】:

  • 所以,我猜包语句告诉编译器文件属于哪个包,如果我是对的?
  • 确实是这样:)
【解决方案2】:

package 声明是必需的,import 声明通常是推荐的但不是必需的。

如果您不使用导入语句,则必须使用您正在使用的类的完全限定名称:

public class MyClassTest {

   public void foo() {
       com.projectjava.MyClass myClassInstance = new com.projectjava.MyClass(...) 
   }

}

【讨论】:

    猜你喜欢
    • 2016-08-12
    • 2019-05-26
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-02
    • 1970-01-01
    相关资源
    最近更新 更多