本文紧接上一篇博客《使用文本编辑器+命令行的方式实现Java中的第一个程序Hello World(上)》

本文是上一篇的深入,解决了上一篇更复杂的问题。

1、在test.java文件里写入多个类进行编译,在test.java文件里再写入以下代码,使test.java程序代码里有两个类HelloWorld和Welcome

class Welcome {
          public static void main(String args[]) {
               System.out.println("Welcome to Java!");
          }
     }

(1)文件保存成功后,将test.java文件保存在初始位置C:\Users\用户名>,使用下面的命令来编译,

javac test.java

编译成功后,在相同目录下生成两个和程序中类名相同.class文件,一个是HelloWorld.class文件,另一个是Welcome.class文件,如下图所示,

然后在命令行上分别使用下面的命令来执行

java HelloWorld

java Welcome

命令执行后,会在屏幕上分别打印出一个“Hello World”字符串和一个“Welcome to Java!”字符串,如下图所示,

(2) 文件保存成功后,不保存在初始位置,保存在 E:\exam文件夹下面,

并使用下面的命令来编译,

javac E:\exam\ test.java

编译成功如下图,

编译成功后会在相同目录下生成两个和程序中类名相同.class文件,一个是HelloWorld.class文件,另一个是Welcome.class文件,如下图所示,

然后在命令行上分别使用下面的命令来执行

java HelloWorld

java Welcome

命令执行后,本来以为会在屏幕上分别打印出一个“Hello World”字符串和一个“Welcome to Java!”字符串,但是却出现了错误,如下图所示,

开始觉得可能是地址位置问题,当执行java命令时加上了地址,也同样出现了错误,如下图所示,

出现问题后在百度上找到了答案,下面是我看到的一篇博客文章,正好解决了我的问题,在文章中博主对这个问题进行了详细的解释,推荐给大家,

https://blog.csdn.net/jeff_liu_sky_/article/details/48955355

在这篇文章里面,我学会了更改地址目录,我将地址目录更改到了E:\exam>

并使用下面的命令来编译,

javac E:\exam\ test.java

编译成功如下图,

编译成功后会在相同目录下生成两个和程序中类名相同.class文件,一个是HelloWorld.class文件,另一个是Welcome.class文件,如下图所示,

然后在命令行上分别使用下面的命令来执行

java HelloWorld

java Welcome

命令执行后,会在屏幕上分别打印出一个“Hello World”字符串和一个“Welcome to Java!”字符串,如下图所示,

提醒自己注意:在这里我成功学会了用下面的语句,更改地址空间,

2、使用公开类public

在前面的实践中,HelloWorld和Welcome类并没有使用类前缀,给类分类,下面在HelloWorld类前加上public,使HelloWorld类变成一个公共类,再依次执行上面的过程,

(1)文件保存成功后,将test.java文件保存在初始位置C:\Users\用户名>,使用下面的命令来编译,

javac test.java

编译后,出现了错误,如下图所示,

出现错误的原因是,公开类有自己的特性,如果要使用一个公开类,则公开类的类名必须与.java文件的文件名相同(在这里需要注意的是Java语言中时严格区分大小写的),

即,我们需要做的是把test.java文件名改为HelloWorld.java,文件名改名后,再次进行编译,结果出现了错误,如下图所示,

将错误在百度上搜了一下,大佬们的回答是:由于运行javac编译时没有加上扩展名,所以出现错误。解决办法是加上.java扩展名重新编译即可。

【仔细想想这里也是自己粗心了,搞混了,这里编译时就是应该加上.java扩展名的】

问题解决后编译成功,并且在相同目录下生成和程序中类名相同的HelloWorld.class文件,如下图所示,

然后在命令行上分别使用下面的命令来执行

java HelloWorld

命令执行后,在屏幕上分别打印出一个“Hello World”字符串,如下图所示,

(1)文件保存成功后,将test.java文件保存在初始位置E:\exam文件夹下面,就不再赘述了,经过上面的实践,实现方法很简单。

在这里需要注意的是:由公共类的特性可知,一个.java文件只能有一个文件名,所以,一个.java文件中最多只能有一个公共类。根据上面的实践可证明,如果.java文件中的类不是公共类,这样的类可以有多个。

转载于:https://www.cnblogs.com/beiqing-n1/p/9320071.html

使用文本编辑器+命令行的方式实现Java中的第一个程序Hello World(下)相关推荐

  1. java 输入 方程,用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a、b及c从命令行做参数输入 java...

    题目: 用java 编写一程序,求解一元二次方程:aX2+bX+c=0.参数a.b及c从命令行做参数输入 java 答案参考: 以下程序在jdk5.0测试通过 import java.util.Sca ...

  2. linux命令vi作用,详解Linux常用命令的用法(二)――――文本编辑器命令vi/vim

    vi/vim介绍 它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面. 1.vi和vim的区别: 就是在进入一般命令模式后,当按下(i.I.o ...

  3. linux命令-文本编辑器命令vi

    文本编辑器命令vi 文本编辑器命令vi 1.文本编辑器的作用 2.linux中最常用的文本编辑器命令 3.vi编辑器的三种工作模式 (1)命令模式 (2)输入模式(插入模式) (3)末行模式 末行模式 ...

  4. 如何使用 kubectl 通过命令行的方式操作 SAP Kyma

    Kyma 运行时就是 Kubernetes cluster. To manage resources and configurations from the command line, the too ...

  5. windows server 2008 R2 命令行的方式创建用户、设置密码

    一.使用命令行的方式创建用户.设置密码 (1)标准格式: net user username password  / add 例如:建立一个名为lijunxuan.密码为Abc_123的用户 net ...

  6. 以命令行的方式运行activity

    以命令行的方式运行activity,可以直接运行你想要运行的那个activity,不必从第一个activity开始 1. <activity android:name=".camera ...

  7. apache pdfbox_Apache PDFBox命令行工具:无需Java编码

    apache pdfbox 在博客文章Apache PDFBox 2中 ,我演示了将Apache PDFBox 2用作从Java代码中调用的库来操作PDF. 事实证明,Apache PDFBox 2还 ...

  8. Apache PDFBox命令行工具:无需Java编码

    在博客文章Apache PDFBox 2中 ,我演示了将Apache PDFBox 2用作从Java代码中调用的库来操作PDF. 事实证明,Apache PDFBox 2还提供了可以直接从命令行直接使 ...

  9. [笔记]快乐的Linux命令行《二》文件系统中跳转

    系列文章目录 [笔记]快乐的Linux命令行<一>LInux系统简介以及什么是shell [笔记]快乐的Linux命令行<二>文件系统中跳转 文章目录 系列文章目录 前言 一. ...

  10. DCMTK:命令行应用程序修改DICOM文件中的标签

    DCMTK:命令行应用程序修改DICOM文件中的标签 命令行应用程序修改DICOM文件中的标签 命令行应用程序修改DICOM文件中的标签 #include "dcmtk/config/osc ...

最新文章

  1. 题目1195:最长最短文本
  2. 解决maven cannot change version of project facet dynamic web module to 3.0
  3. Java黑皮书课后题第7章:**7.17(对学生排序)编写一个程序,提示用户输入学生个数、学生姓名和他们的成绩,然后按照学生成绩的降序打印学生的姓名。假定姓名是不包含空格的字符,使用next()读取
  4. 图片轮播插件-carouFredSel
  5. 跟我学算法-集成算法
  6. oracle显示一个月的所有天数
  7. 【2017-04-16】抽象类、接口、构造函数、重载和重写的区别、静态成员和方法
  8. Android的Intent系统调用
  9. java课设模板_java课程设计模板
  10. java 真少林倚天屠龙夺艳记,2019年9月13日資訊重點:月夜吟詠詩意長安十九屆中央第四輪巡視全部進駐...
  11. 2018年度中国IT行业杰出人物奖出炉
  12. python你已经是个成熟的软件了_支付宝改自己还花呗表情包_你已经是个成熟的软件系列表情包大全_游戏吧...
  13. 微信AirSync服务之计步器
  14. 英语口语232之每日十句口语
  15. linux ls和ll命令学习小结
  16. 商品期货CTA策略系列文章 -- CTA策略的起源
  17. send函数给FTP服务器发消息,send函数给FTP服务器发消息
  18. Linux:selinux安全上下文
  19. QNX Neutrino 微内核
  20. U盘病毒原理分析和解决方法

热门文章

  1. amd玄冰400怎么拆图解_【装机帮扶站】第735期:“无货”当道的京东年底大预售来了(AMD篇)...
  2. 初始化string对象的方式
  3. python构造函数
  4. sqlite 表与表之间的关系_第33章 Django多表关系之一对一
  5. 500状态码_教你玩转HTTP—状态码
  6. git包名大小写不敏感的百分百管用但是不完美的解决方法
  7. 实现链表翻转的两种方法
  8. 安全管理:为软件供应链部署零信任方法
  9. 让面试官赞扬的IO读取方法:大文件进行词频统计(单线程与多线程分别解决)利用Buffer流简单又快捷
  10. html水平制表和垂直制表,将水平制表符转换为垂直制表符(仅限HTML和CSS,无js)