如何运行有 package 语句的源文件

包和包及类之间的调用关系(不考虑权限修饰符, 默认为public) :

  • 处在同一包下, 可以无需使用包前缀即可访问相同包下的另一个类;
  • 处在不同包下, 如调用子包, 则需要使用全名的写法;
  • 使用import语句导入相关类, 即可不再使用类全名;

命令行下具体实现流程细节 :

  1. 先创建三个源文件, Hello 文件, HelloTest 文件 属于相同包lee
              Apple 文件位于lee包子包sub包 下, 即lee.sub路径

class Hello

 							package lee;
                            public class Hello {
                            	public static void main(String[] args) {
                            		System.out.println("Hello World!");
                            	}
                            
                            	public void hello() {
                            		System.out.println("Hello World!");
                            	}
                            }

class Apple

                                package lee.sub;
                                public class Apple{}

class HelloTest

                                package lee;
                                import lee.sub.*;
                                public class HelloTest {
                                	public static void main(String[] args) {
                                		// 直接访问相同包下的另一个类, 无需使用包前缀
                                		Hello h = new Hello();
                                		h.hello();
                                		// 使用类全名的写法(也就是需要访问不同包中的类要使用包前缀)
                                		lee.sub.Apple a = new lee.sub.Apple();
                                		// 如果使用import语句来导入Apple类, 就可以不再使用类全名了
                                		Apple aa = new Apple();
                                	}
                                }
  1. 在源文件文件夹下进入cmd, 分别编译三个源文件
    注意 : 因为有 package lee, 因此编译的时候需要给定出包文件夹的位置 , 此处用 -d 选项设置 class 文件的保存位置
               javac -d . Hello.java ( . 代表当前路径下)

  2. 编译成功, 在 lee 包文件夹外面进入cmd, 运行class文件
    注意 : 此处运行的时候, 是通过 lee.HelloTest 路径运行的
               java lee.HelloTest

若是想让同一包下的类不在相同目录下仍可运行, 则需要把这些类的路径配置到CLASSPATH路径下;想了解可以看我的这篇文章—关于最新配置CLASSPATH环境变量定位类
 
 
歌曲分享, 适敲代码
歌曲 : Everglow
歌手 : Coldplay

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Java,一个源代码文件必须包含一个package语句,用于指定该文件所属的包名。包名要求是合法的标识符,且通常以域名倒置的形式表示,例如com.example.package。这有助于组织和管理Java程序,并且避免与其他开发者的代码冲突。 ### 回答2: 在Java编程package语句是指在一个Java源码文件的第一行,用于定义该文件所属的包。包是将Java类组织在一起的一种方式。每个Java文件都必须属于一个包,而package语句就是用来指定该文件所属的包的。如果一个Java源文件没有package语句,那么编译器将认为该文件属于默认包(即没有指定包名),这在实际应用并不符合编程规范。 那么,为什么一个Java源文件必须要有package语句呢?首先,Java源文件的每个类都必须属于一个包,因为Java的类名是全局唯一的,不同的包里可以存在同名的类。如果一个Java源文件没有package语句,则该文件将被编译成默认包,这将使得该文件的所有类都处于同一命名空间,容易引起命名冲突。其次,package语句也有助于Java编译器或IDE进行模块化管理和编译。在Java,类的引用方式通常为包名.类名的形式,package语句指定了类所在的包,可以方便地用.符号来引用不同的包的类。 因此,一个Java源文件必须要有package语句,否则可能会导致编译器识别失败、管理不便、命名冲突等问题。在编写Java源文件的时候,应该始终养成良好的编程习惯,正确使用package语句,为自己和他人带来更好的编程体验。 ### 回答3: Java是一种面向对象的编程语言,它的代码文件被称为Java源文件。每个Java源文件都需要包含一个package语句,这是Java编程语言规范的规定。一个Java包(Package)是一组相关的类和接口,它们在同一个包被组织起来,以方便引用和重用。 一个Java源文件,包语句必须是文件的第一行代码,它的语法如下: ``` package 包名; ``` 其,包名是一个标识符的序列,用点号分隔。例如:com.example.mypackage。 一个Java源文件只能属于一个包,而且包名必须与文件所在的目录路径相吻合。这是Java编译器查找源文件和将编译结果组织为类文件的必要条件。 通过使用包,Java程序员可以将类组织成逻辑上的单元,而不是仅仅将它们保存在文件。通过将类组织到包,可以防止命名冲突,并允许编写更复杂和更强大的程序。Java标准库也使用了包来组织其类和接口,以便Java程序员可以方便地引用和重用它们。 此外,如果你想要将你的Java类库发布给其他人使用,那么使用包是非常重要的。使用包可以避免类的名称冲突,并且使其他人很容易找到你的类库。如果没有包,你的程序可能会无法正常运行,并且也无法被其他人使用。 总之,包是Java非常重要的概念,每个Java源文件都必须包含包语句,以确保程序员可以正确地组织代码并减少命名冲突。它使Java程序员更容易阅读和维护代码,并且使Java库开发更加方便。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值