Java基础--package

来源:互联网 发布:三国志15单机还是网络 编辑:程序博客网 时间:2024/04/30 07:45

package

包(package)

  1. 对文件进行分类管理;
  2. 给类提供多层命名空间;
  3. 写在程序文件的第一行;
  4. 类名的全称是 包名.类名;
  5. 包也是一种封装的形式;

关键字:package

  1. 要放在程序文件的第一行,包名所哟字母小写;

    package packa;public class DemoA //extends packb.DemoB{public  void show(){    System.out.println("demoa show run");   }}
  2. 有包的源文件在编译时要带参数编译命令格式为:
    javac -d 存储文件路径;
    注:若为javac -d,表示存放在当前目录下;

  3. 有package的源代码编译后将会在当前目录下自动生成名为包名的文件夹,所有该源码的class文件全部存放在该文件夹内;
  4. package编译的文件在执行是要输入全名,即:包名.类名;

知识点:类前面加了public后类名必须要与java文件名保持一致,一个java文件里边不能出现两个以上的公有类或者接口;

定义包时的相关问题

  1. 当在一个包中建立其他包中类的对象是,必须要写类名的全名或者先通过import导入该类的目录,否则找不到类文件;
  2. 如果引用的其他包不在当前目录下,需要设置classpath,告诉jvm指定包的位置;
  3. 包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰,不同包中的子类还可以直接访问父类中被protected(关键字:权限修饰符)权限修饰的成员;

    package packb;public class DemoB {protected /*保护*/ void method(){    System.out.println("demoB method run");}}

    包与包之间可以使用的权限只有两种:pubic 、 protected;

  4. 相关权限的使用范围:

    权限修饰符 public protected default private 同一个类中 √ √ √ √ 同一个包中 √ √ √ 子类 √ √ 不同包中 √

关键字:import(导入)

  1. 为了简化类名的书写,import导入的是包中的类,通过该关键字导入某目录下的类后,新建对象就无需再加包名;
  2. 建议,不要写通配符:”*”,需要用到包中的哪个类,就导入哪个类;
  3. 注意:当多个包中有相同类时,且都导入了,新建对象时就必须要写类全名;
  4. 建议定义包名不要重复,可以使用url来完成定义,url是唯一的;
    例:某网站:www.address.cn;
    定义包名:package cn.address.demo;

    import packa.*;import packb.*;class  PackageDemo{public static void main(String[] args) {    DemoC c = new DemoC();//      packa.DemoA d = new packa.DemoA();//      d.show();//      packb.DemoB d = new packb.DemoB();//      d.method();}}

扩展:
java.lang : java的核心包 jdk1.2版本以后,该包中的类自动导入。
java.awt: 用于制作图形界面。
java.io:input output 用于操作设备上的数据。
java.util : 这里定义是java的工具类。集合,日期。
java.net:用于网络通讯的。

0 0