JAVA_SE基础——56.包的创建

Posted 脚本叔叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA_SE基础——56.包的创建相关的知识,希望对你有一定的参考价值。

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

先看一段代码

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






















以上是关于JAVA_SE基础——56.包的创建的主要内容,如果未能解决你的问题,请参考以下文章

JAVA_SE基础——59.权限访问修饰符

JAVA_SE基础——13.选择结构语句

JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别

JAVA_SE基础——26.[深入解析]局部变量与成员变量的区别

JAVA_SE基础——24.面向对象的内存分析

JAVA_SE基础——58.如何用jar命令对java工程进行打包