接下来我来给大家讲下……包 ,

先看一段代码

class Demo1{
public static void main(String[] args) {
System.out.println("这个是Demo1的main方法");
}
}

然后再新建一个Java文件,然后类名也叫Demo1,但是文件名叫Demo2

class Demo1 {
public static void main(String[] args) {
System.out.println("这个是Demo2的main方法");
}
}



如果我先编译Demo1 再编译Demo2  然后运行Demo1   结果会是什么?  会输出:这个是Demo1的main方法 呢, 还是会输出:这个是Demo2的main方法。

运行结果:

这个是Demo2的main方法

大家有没有想过为什么???

因为,后编译的这个文件 是不是也会产生Demo1.class的这个文件   后编译的会把前面编译的覆盖掉

包:就可以解决类名重复这个问题了。

包的作用:

1.解决类名重复产生冲突的问题。

2.便于软件版本的发布。

包的概念:

windows一个文件夹中 是不是不可以出现两个一样名字的文件,那在windows中又是如何解决的?那就是创建文件夹,所以java中的包就相当于windows文件夹。

定义包的格式:

package 包名;

包语句要注意的事项:

1. package语句必须位于java文件中中第一个语句。

2. 如果一个类加上了包语句,那么该类的完整类名就是: 包名.类名

3. 一个java文件只能有一个包语句。

下面来段代码创建个包试试:

package a;

class Demo1
{ public static void main(String[] args)
{
System.out.println("这个是Demo1的main方法...");
}
}

然后编译,结果如下图:



这提示什么意思?  异常:NoClassDefFoundError;   找不到类名的意思

大家看包语句要注意的事项的第二点。那这个类完整类名就是:a.Demo1

先创建一个叫做a的文件夹,把Demo1.class 拖进去,

然后运行

新建文件夹的方法是不是觉得很烦,那我继续说另外一种方法~

javac -d 指定类文件的存放路径   java源文件

或者 javac -d . java源文件    (.的意思是当前文件夹路径,,就是Demo1的路径)

交流企鹅:654249738,和自学者交流群:517284938

最新文章

  1. Ajax缓存解决办法(转载)
  2. ubuntu14.04利用aliyun安装docker
  3. 固定分隔符字符串与数组互转及ArrayList与数组(Array)互转
  4. Control Flow in Async Programs
  5. Mysql 数据库安装配置
  6. Java 不定长度参数
  7. 修改上一篇文章的node.js代码,支持默认页及支持中文
  8. Page.ClientScript.RegisterStartupScript函数的使用
  9. 贪心-hdu-1789-Doing Homework again
  10. 使用Xshell连接Ubuntu
  11. SQL练习1关于插入删除,修改,单表查询
  12. 听翁恺老师mooc笔记(2)-第一个程序--&运算符
  13. Python3NumPy——数组(2)之数学空间与NumPy空间
  14. C++标准库之stack
  15. js数组扁平化
  16. PHP将图片转base64编码以及base64图片转换为图片并保存代码
  17. Nifi flow 备份恢复
  18. Pycharm 开发 Django 项目
  19. TimelineJS JSON 数据格式 - 译文 [原创]
  20. Maven使用—拷贝Maven依赖jar包到指定目录

热门文章

  1. 【JLOI2015】城池攻占
  2. [BZOJ1306] [CQOI2009] match循环赛 (搜索)
  3. 通过返回动态改变textview和imageview
  4. LCA倍增算法
  5. java基本语法特殊点
  6. Linux文件目录权限对比
  7. P2P技术简介
  8. which framework or library is best to use WebRTC
  9. loadrunner 录制中文出现乱码的解决办法
  10. Online Judge(OJ)搭建——1、项目介绍