一个java源文件里至多有一个public类,该类的名称必须与源文件名称称同样。也能够没有public类。文件名称与随意一个类名一致就可以。

类似于cpp的namespace,是对类的再封装,防止命名冲突。

java包的命名规则所有使用小写字母。

定义包: package likeyichu.com;

导入包中的类: import likeyichu.com.cc;   //(必须详细到类。不能仅仅导入包)

演示样例:

在定义包的时候。实际上就指定了你的源文件的存放位置。如包名为"com.likeyichu"时, 该源文件就在 projectname\src\com\likeyichu下。

含有源文件的目录被“包含进”构建路径时才被理解为"包“,不然不能编译。见下图。

源文件里没有package语句时,实际上相当于创建了默认包。

main函数

假设将main函数写为   public static void main()会报错:

在类 xxx 中找不到 main 方法, 请将 main 方法定义为:

  public static void main(String[] args)
如果有HelloWorld.class。那么执行 java  HelloWorld arg0,arg1,arg2 。则args[]的值分别为 arg0,arg1,arg2。

解释还是编译?

java执行程序是一组能够打包成为一个jar文件的.class文件。java解释器负责这些文件的查找、装载和解释。

注意:java中并不强求必须使用解释器。由于存在生成可运行文件的java编译器。

.java->.class 之后,既能够交给jvm解释运行,也能够用第三方软件(如exe4j)生成.exe。即便是使用JVM,它也有JIT。just in time。即时编译技术。

使用该技术,能够加速java程序的运行速度。

原理例如以下:

运行时,部分代码可能由JIT翻译为目标机器指令(以method为翻译单位。还会保存起来。第二次运行就不用翻译了)直接运行,故Java的效率要比一般的解释性语言高的多。

公布程序

以eclipse Kepler版本号为例。
1.先右击想执行的含有main()函数的.java文件。执行一遍,这样如图所看到的位置就有launch的信息了。


2.右击项目名,导出为可运行jar包,在launch configuration中选择自己想要的一项。



项目结构、包、编译为exe!的更多相关文章

  1. Maven01 环境准备、maven项目结构、编译/测试/打包/清除、安装、

    0 前提准备 0.1 安装java开发环境 0.2 安装maven工具 1 maven项目基本结构 如图所示,整个maven项目有业务文件.测试文件.POM依赖管理文件:其实还有一个资源文件resou ...

  2. 玩转IDEA项目结构Project Structure,打Jar包、模块/依赖管理全搞定

    前言 你好,我是A哥(YourBatman). 如何给Module模块单独增加依赖? 如何知道哪些Module模块用了Spring框架,哪些是web工程? IDEA如何打Jar包?打War包? 熟练的 ...

  3. 02_MyBatis项目结构,所需jar包,ehcache.xml配置,log4j.properties,sqlMapConfig.xml配置,SqlMapGenerator.xml配置

     项目结构(所需jar包,配置文件) sqlMapConfig.xml的配置内容如下: <?xmlversion="1.0"encoding="UTF-8&qu ...

  4. jar包打包成exe示例(基于maven项目)

    jar包打包成exe示例(基于maven项目) 说明 针对基于maven的Java项目,通常会打包成jar, 如果要把jar文件包装成exe文件,仅需要在pom.xml配置文件中增加一个插件即可 这里 ...

  5. Swing项目编译成exe,并且打包成安装文件(一)

    我们一般用java做Swing项目的时候一般都是只能在Myeclipse里面运行,那么怎么把我们的项目打包成exe可以直接双击运行呢? 初始工作:为了不让用户安装java环境,所以我们先新建一个文件夹 ...

  6. Maven项目中,编译proto文件成Java类

    新建Maven项目 新建一个 Maven 项目: pom定义了最小的maven2元素,即:groupId,artifactId,version. groupId:项目或者组织的唯一标志,并且配置时生成 ...

  7. .NET CLI简单教程和项目结构

    WHAT IS .NET CLI ? .NET 命令行接口 (CLI) 工具是用于开发.生成.运行和发布 .NET 应用程序的跨平台工具链. 来源:.NET CLI | Microsoft Docs ...

  8. Go项目结构和模块导入

    Go项目结构和模块导入 golang项目结构与其他语言类似,但是仍然有一些需要注意的地方. 项目结构 环境配置 go 命令依赖一个重要的环境变量:$GOPATH,它表示GO项目的路径,如下设置 exp ...

  9. Android项目结构 以及体系结构

    学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src  主要是 源 ...

  10. maven(一)初步搭建,项目结构

    一.环境准备 java环境, jdk 1.5 以上 MyEclipse集成工具,我装的是8.5 版本 二.快速安装及配置 1.下载maven: http://maven.apache.org/docs ...

随机推荐

  1. 【Codeforces】Codeforces Round #373 (Div. 2)

    B. Anatoly and Cockroaches Anatoly lives in the university dorm as many other students do. As you kn ...

  2. .net MVC成长记录(二)

    今天上班的任务完成了,接下来写一下博客,巩固一下,再学习一些新知识. 闲话不多说,我们言归正传.昨天讲到了如何mvc框架在微软下,已经变成了一个非常灵活非常‘干净’的开发框架了, 同时也讲述了如何创建 ...

  3. MVC微信浏览器图片上传(img转Base64)

    因公司业务需要,需要做一个微信公众号里的图片上传功能,主要用到的技术就是 img转base64 上到服务器 话不多说, 贴代码 先看前端显示出来的东西 OK 图片不重要,看代码 <!--微信图片 ...

  4. 可变长度参数列表(Stering...aaa)

  5. CSS清除浮动_清除float浮——详解overflow:hidden 与clear:both属性

    最近刚好碰到这个问题,看完这个就明白了.写的很好,所以转载了! CSS清除浮动_清除float浮动 CSS清除浮动方法集合 一.浮动产生原因   -   TOP 一般浮动是什么情况呢?一般是一个盒子里 ...

  6. Android开放百度地图集成

    1.创建应用 获取AK (我理解为Application key)  通过百度账号登录百度地图开放平台,进入API控制台 http://lbsyun.baidu.com/apiconsole/key ...

  7. ubuntu16.04安装KDE

    由于对KDE界面情有独钟,升级到ubuntu之后,第一件事就是安装kde桌面 命令: add-apt-repository ppa:kubuntu-ppa/backports apt-get upda ...

  8. js-undefinde的一点延伸

    前面写过一篇js中变量定义的问题:Js中判断变量存不存在的问题 本文再补充下,变量声明未初始化的情况,代码: <script> var a; alert(a==undefined)//tr ...

  9. elasticsearch重建索引

    1.重建索引 一个field的设置是不能被修改的,如果要修改一个Field,那么应该重新按照新的mapping,建立一个index,然后将数据批量查询出来,重新用bulk api写入index中 批量 ...

  10. Selenium3+python自动化-iframe

    一.frame和iframe区别 Frame与Iframe两者可以实现的功能基本相同,不过Iframe比Frame具有更多的灵活性. frame是整个页面的框架,iframe是内嵌的网页元素,也可以说 ...