相关疑难解决方法(0)

为什么java源文件需要包声明?

我想我无法理解java包结构,对我来说,java文件中有一个包声明似乎是多余的,然后还需要出现在与包名匹配的目录中.例如,如果我有一个MyClass.java文件:

package com.example;

public class MyClass {
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}
Run Code Online (Sandbox Code Playgroud)

然后我将需要将此文件放在com/example相对于基本目录的位置,并且我将从java com.example.MyClass基本目录执行以运行它.

为什么编译器不能通过查看目录结构来推断包名?例如,如果我从基本目录编译该文件javac com\example\MyClass.java,我不明白为什么MyClass.java不会隐含属于该com.example包.

我知道有一个默认包,但似乎源文件中的包声明仍然是冗余信息?

java compilation package

13
推荐指数
3
解决办法
1535
查看次数

Java:为什么每个类都要写包

既然所有java类文件都放在一个与classes包匹配的目录中,为什么每个类都需要在顶部的包声明?编译器不应该能够从目录结构中获取包吗?

java

0
推荐指数
1
解决办法
137
查看次数

标签 统计

java ×2

compilation ×1

package ×1