利用包可以更方便的组织多人进行开发,因为在同一个目录下不能存在同名文件例如xxx.java,在多人开发时很可能会出现这样的情况,利用包我们就能够将文件分布到不同的目录下。包名即是目录名,“.”代表的是路径中的斜杠。在开发过程中每一个java程序都应该有包名。
1.我们的JDK提供了自动的打包编译指令:
1)打包编译 javac -d . Hello.java
“-d” 生成目录 “.” 设置保存路径
2)解释程序 java com.yootk.Hello
2.在大型程序开发时有可能会存在多个*.java文件,为了解决编译顺序的问题,提供了通配符“*”,操作:javac -d . * .java,这样能自动的根据代码的调用顺序进行编译。
3.public class与class声明类的区别
一个.java的文件中只能有一个public class的声明,类名即是这个文件的名字。在这个文件中还可以有多个class定义的类,这些类只能够在这个包中使用,外部包不能直接访问。
4.在import 包的时候,若我们需要引入这个包中的多个类,则我们不需要进行每个类的单独引入,只需要使用“import com.yootk.util.*”来进行引入,这样程序在编译的时候会自动的引入需要的类。
5.jar(Java Archive)
JDK中已经提供了生成jar的文件工具(jar.exe)
在创建一个jar文件时,我们最常用到的3个参数是:
-c 创建一个新的文件
-v 生成标准的压缩信息
-f 由用户自己指定一个*.jar的文件名称
操作:jar cvf classes.jar Foo.class(将Foo.class归入classes.jar中)
6.包的访问控制权:
private只能提供同一个类内部的访问,default提供同一个包的不同类的访问,protected 提供不同包的子类的访问(子类可以访问这样的属性),public提供不同包间的访问。
7.java的命名规范:
类名首字母大写,属性首字母小写其他单词首字母大写,方法跟属性命名一样,常量全部大写,包名全部小写。
8.单例设计模式(Singleton)
单例设计模式其核心是构造函数的私有化,控制对象的创建,使对象只能够创建一个,也就是一直使用的都是同一个对象(构造函数利用private私有化,然后在类中创建一个private static final 类 类名 = new 类()对象,也就是先在类中定义一个static的对象,然后再用public方法取出,这样就能控制只有一个对象)
9.多例设计模式
多例设计模式核心也是构造函数的私有化,同样的我们先利用private static final来创建几个对象,然后给public函数取出就行,这样就能保证对象的唯一性。