Java入门教程--带包的类如何编译与运行

 更新时间:2022年12月23日 17:09:42   投稿:yin  
我们一般都是通过IDE(如Eclipse、Intellij Idea,STS等)来开发,调试java项目。在不借助IDE的情况下,如何编译、运行Java程序。打包编译时,会自动创建包目录,不需要自己新建包名文件夹。

我们一般都是通过IDE(如Eclipse、Intellij Idea,STS等)来开发,调试java项目。在不借助IDE的情况下,如何编译、运行Java程序。打包编译,这里我又要给大家讲解两个知识点:1.打包编译时,会自动创建包目录,不需要自己新建包名文件夹;2.当当前目录有多个java文件需要编译或打包编译时,javac -d . *.java 指令可以给当前目录下的所有 java 文件根据程序中是否有包声明进行编译或打包编译。

包机制概述

为了更好的组织类,Java提供了包机制,用于区别类名的命名空间,防止类名冲突,可以让类的用户更让容易检索到类。 包的本质就是文件夹!!

包(Package):用于管理Java类库的一种有效机制,提供了一种对工程中1个以上的类进行层次性、分门别类管理的有效方法。

Java中的包是专门用来存放类的,通常功能相同的类存放在同一个包中。需要注意的是,包的声明只能位于Java源文件的第一行。包通过package关键字声明,示例代码如下:

package cn.itcast.chapter01; //使用package关键字声明包

包语句的语法格式为:

package pkg1[.pkg2[.pkg3...]];

带包的类如何编译与运行

1.编译带包的类首先需要配置好环境变量

这样才能在cmd命令窗口下运行

2.配置好后在此输入 cmd 回车打开命令窗口

项目文件目录如下:

Hello World.java内容如下,大多数编程语言的起步学习,输出Hello World,注意 package com.blb.demo1;

package com.blb.demo1;
public class HelloWorld{
    public static void main(String[] args){
        System.out.println("Hello World");
    }
} 

3.输入 javac HelloWorld.java 回车进行编译

 编译结果如下,生成了HelloWorld.class文件

4.此时的编译已经完成

运行class文件需要在包名的上一级目录,否则会报错

在包目录的上一级目录下输入cmd打开命令窗口,输入 java com.blb.demo1.HelloWorld  (不要加.class后缀)

 运行成功结果如下:

总结

  • 1、Java 命令的参数是"类的完整类名",而不是"文件名"。
  • 2、打包编译时,会自动创建包目录,不需要自己新建包名文件夹。
  • 3、当当前目录有多个 java 文件需要编译或打包编译时,javac -d . *.java 指令可以给当前目录下的所有 java 文件根据程序中是否有包声明进行编译或打包编译。
  • 4、当类路径不在当前目录下时,需要用到 java -cp ...,如:java -cp F:/javaweb/2022 mypack1.java
  • 5、要清楚 java 虚拟机根据包声明包导入执行字节码文件的流程。

 

相关文章

  • java设计模式之单例模式学习

    java设计模式之单例模式学习

    单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在
    2014-01-01
  • 利用Java实现复制Excel工作表功能

    利用Java实现复制Excel工作表功能

    这篇文章主要给大家介绍了关于如何利用Java实现复制Excel工作表功能的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-12-12
  • @WebFilter在SpringBoot无效的原因分析和解决方案

    @WebFilter在SpringBoot无效的原因分析和解决方案

    使用Ruoyi的demo部署成功后,发现js、css等静态文件都进入了过滤器,但是发现静态文件没有使用浏览器缓存,新建BrowserCacheFilter.java并增加@WebFilter处理,应用自动重启后发现@WebFilter无效,所以本文给大家介绍了@WebFilter在SpringBoot无效的原因分析和解决方案
    2024-03-03
  • SpringBoot集成ffmpeg实现视频转码播放示例详解

    SpringBoot集成ffmpeg实现视频转码播放示例详解

    这篇文章主要为大家介绍了SpringBoot集成ffmpeg实现视频转码播放示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-07-07
  • 浅谈Maven的build生命周期和常用plugin

    浅谈Maven的build生命周期和常用plugin

    Maven和gradle应该是现代java程序员中使用的最多的两种构建工具。在它们出现之前,则是ant的天下。本文将介绍Maven的build生命周期和常用plugin。
    2021-06-06
  • java开发中为什么双重效验锁要加volatile

    java开发中为什么双重效验锁要加volatile

    这篇文章主要为大家介绍了java开发中为什么双重效验锁要加volatile原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • Java超详细介绍封装与访问控制修符

    Java超详细介绍封装与访问控制修符

    封装是一个非常广泛的概念,小到一个属性的封装,大到一个框架或者一个项目的封装,文中通过实例代码将详细介绍封装与访问控制修饰符
    2022-05-05
  • springboot对接第三方微信授权及获取用户的头像和昵称等等

    springboot对接第三方微信授权及获取用户的头像和昵称等等

    这篇文章主要介绍了springboot对接第三方微信授权及获取用户的头像和昵称等等,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java操作Redis2种方法代码详解

    Java操作Redis2种方法代码详解

    这篇文章主要介绍了Java操作Redis2种方法代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 基于SpringBoot解决CORS跨域的问题(@CrossOrigin)

    基于SpringBoot解决CORS跨域的问题(@CrossOrigin)

    这篇文章主要介绍了基于SpringBoot解决CORS跨域的问题(@CrossOrigin),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论