• 对程序进行package封装


    一、package包

        格式:package 代码必须写在源代码文件的第一句, 约定俗成使用公司域名的倒写,之后再加其他。
            for example: package cn.chuanzhiboke.test1;

        注意: 如果你的一个Java文件放在了包中,其编译的.class文件就必须放在正确的路径下面(就是其包名对应的目录路径),而且如果在其他类中要调用这个类
            就要在类名前加上其包名。

    二、import语句

        格式: 在源文件中放在 package 语句的下面, 格式实例:
          import cn.chuanzhiboke.test1.**class 表示引入包内的 **class文件。
          import cn.chuanzhiboke.test1.* 表示引入包内的所有的class文件。

        作用:在一个文件中引入了某个包过后,其它包中的程序再要调用这个包中的类文件时,不用在类名前加上包名。


        示例:
        文件1: package cn.chuanzhibike.test1;
            public class Cat
            {

            }

        文件2: //import cn.chuanzhiboke.test1.Cat.class ;
            public class Dog
            {
              public static void main(String []args)
              {
                cn.chuanzhiboke.test1.Cat c = new cn.chuanzhiboke.test1.Cat();
                // Cat c = new Cat();
              }
            }

        其中, 文件1中的.class文件必须放在cn/chuanzhiboke/test1目录下,
          而且其要被调用的类文件必须是 public权限的(其中要被调用的方法也必须是public的)。

        而cn的父目录要在classpath环境变量下, 如果想要直接运行Cat.class文件, 在dos命令行中输入包名加类名。
            D:java>java   cn/chuanzhiboke/test1/Cat

        总结: 如果将一个类放在包中,第一句必须写package,编译文件放于正确的路径下:与包名一直的文件夹路径下。
            另一个包中的类如果要调用这个类就必须将包名写全,或者导入包名。

        但是:   访问同一个包中的类不用引入,
            class文件的最上层包的父目录必须在classpath下。
            执行一个class需要写全名。


    三、jar包:

        JDK中会提供许多包:安装目录下/jre/lib/rt.jar
          其中有许多包:
          而在Java.lang中的包使用时无需引入, 其他包使用之前也要引入。

        自己创建jar包: 在包名的父目录下使用 jar 命令。
          >jar -cvf test.jar 文件名、文件夹名(可写多个)
          >jar -cvf test.jar . 表示将该目录下的所有文件压缩进包中。

        可以将jar包名存进 classpath 目录下,就可以直接

    四、StaticImport 静态导入。

           jdk1.5 出现的新特性。


          为了能够使用其他的包中的类,我们可以导入这个类:
            如: import java.util.*; :导入了java.util包中的所有类。

          接触相同的原理,我们要使用其他的类中的静态成员时,可以静态导入这个类中的静态成员。
            如: import static java.util.Collections.* ; :导入了Collections中的所有静态成员。
               import static java.util.Arrays.*; :导入了Arrays中所有的静态成员。
               import static Java.lang.System.*: : 导入了System中的所有静态成员。

          好处: 再使用上述类中的导入后,使用这些类的静态成员时可以不用写类名

            如: Collections.sort(List<T> list) 可以写为: sort(List<T> list);
               Arrays.deepEequals(O[] o1, O[] o2); 可以写为 : deepEquals(O[] o1, O[] o2);
               System.out.println(); 可以写为: out.println();

          注意: 前面学过,在包导入中,如果两个包中有相同名字的类,实例化该类的时候,必须指明包名。
              同理,在类的静态导入之后,如果方法或成员重名时,应当指明方法所属的对象或者类名,
              否则,系统按照就近原则查找。

  • 相关阅读:
    windwos8.1英文版安装SQL2008 R2中断停止的解决方案
    indwows8.1 英文版64位安装数据库时出现The ENU localization is not supported by this SQL Server media
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds
    SQL数据附加问题
    eclipse,myeclipse中集合svn的方法
    JAVA SSH 框架介绍
    SSH框架-相关知识点
    SuperMapRealSpace Heading Tilt Roll的理解
    SuperMap iserver manage不能访问本地目的(IE9)
    Myeclipse中js文件中的乱码处理
  • 原文地址:https://www.cnblogs.com/soficircle/p/6636652.html
Copyright © 2020-2023  润新知