zoukankan      html  css  js  c++  java
  • Java 包的概述和讲解

    2017-11-02 22:58:45

    包(package)其实就是文件夹。

    包的作用是对类进行分类的管理,并且区分不同的类名。

    举例:

      学生:增加,删除,修改,查询

      教师:增加,删除,修改,查询

      ...

      方案一:按功能分类

          com.add

            AddStudent

            AddTeacher

          com.delete

            DeleteStudent

            DeleteTeacher

          com.update

            UpdateStudent

            UpdateTeacher

          com.find

            FindStudent

            FindTeacher

      方案二:按模块分类

          com.Student

            AddStudent

            DeleteStudent

            UpdateStudent

            FindStudent

            

          com.Teacher

            AddTeacher

            DeleteTeacher

            UpdateTeacher

            FindTeacher

    注意事项:必须是第一条代码;一个java文件只能有一句;如果没有package,默认无包名。

    带包的编译和运行A:手动式

                  a:编写一个带包的java文件

                  b:通过javac进行编译该文件

                  c:手动创建包名,并将生成的.class文件放到文件夹中

                  d:回到java文件的文件夹,带包名编译

             B:自动式

                  a:编写一个带包的java文件

                  b:通过javac进行编译该文件,加上 -d . 即可 (-d参数的作用是指定生成java包的根目录,"."表示当前目录下创建包)

    不同包下的类之间的访问:

    1、不同包下首先需要加上包名限定

    2、必须要先把需要的包的字节码文件编译出来

    3、不同包下的权限问题

    package com.cnblogs
    
    public Class Test
    {
      public static void main()
      {
        //不同包下需要加包名
        //Demo demo = new Demo();
        com.edit.Demo demo = new Demo();
        System.out.println(demo.sum);
      }
    }
         
    

    导包功能:不同包下的类之间的访问,每次需要使用不同的包下的类的时候,都需要加上包的全路径。比较麻烦。这时候,Java就提供了导包功能。也就是import命令。

    格式:import 包名;

    需要的java类,要么拷到当前目录,要么拷到classpath中设置的目录,比如说c:javajdklib(前提是你要在classpath中设置这个目录)

    import只能用于同级目录或下级目录的情况,比如你的程序放在d盘,而你要导入abc目录中的类,那么在程序开头写 import abc.*;
    假如你要导入abc目录下的efd目录下的类,那么写 import abc.efd.*;
    以此类推

    另外, import 只能导入.class文件,不能导入.java文件

    注意:这种方式是导入到类的名称;

              虽然可以最后写.*,不过不推荐使用这种方式;

    不同包之间的权限问题:不同包之间的类的访问的修饰符只能是public和protected。

    注意:不同包下子类是无法访问父类的protected修饰的成员的。

            

  • 相关阅读:
    七种常见的回归分析—转载
    Python模块之 __future__ 转载
    Java 快速排序
    在给定范围内产生指定个数不重复的随机数
    Java 冒泡排序
    jquery文本框效果
    jquery复选框
    struts2下的Ajax
    java线程系列---Runnable和Thread的区别
    System.getProperty("user.dir")
  • 原文地址:https://www.cnblogs.com/hyserendipity/p/7775247.html
Copyright © 2011-2022 走看看