Java 之 包的定义与包的导入、 系统常用包

1 包的定义

在.java 文件首行使用package 包名称;

eg:定义包:

package www.java ; 
public class Test {    
    public static void main(String[] args) {        
    System.out.println("Hello World") ;    
    } 
}

1.2 包的导入

开发中使用包的定义之后,相当于把一个大的项目分别按照一定要求保存在了不同的包之中,但是这些程序类一定 会发生互相调用的情况,这个时候就需要包的导入。

eg:编写简单类,本类需要被其他程序类所使用

package www.java.util;

public class Message {    
    public void print() {        
        System.out.println("[Message] Hello Package");   
    } 
}

eg:导入包:

package www.java.test ; 
import www.java.util.Message ;  
public class Test {   
      public static void main(String[] args) {       
      Message msg = new Message() ;         
      msg.print() ;   
      } 
}

注意:类使用class和public class的区别:

  1. public class: 文件名称必须与类名称保持一致,如果希望一个类被其他包访问,则必须定义为public class .
  2. class: 文件名称可以与类名称不一致,在一个*.java中可以定义多个class,但是这个类不允许被其他包 所访问。

另外需要注意的是:

以上导入的语句为"import 包.类"这样只会导入一个类,如果说现在导入一个包中的多个类, 可以直接采用通配符"*"来完成。
import www.bit.java.util.* ;

这种"*"并不意味要将包中的所有类都进行导入,而是根据你的需求来导入。

问题:不同包但是相同类名的情况

package www.java.test ; 
public class Message {    
    public void print() {        
        System.out.println("[Message] Hello Java") ;     
    } 
}

假设现在Test需要同时导入这两个包:

package www.java.test ;
import www.java.util.* ;  
import www.java.message.* ;
public class Test {
    public static void main(String[] args) {
        Message msg = new Message() ;
        msg.print() ;
    }
}

这个时候如果还是直接使用Message类就会产生一个编译上的歧义。
这个时候一般在使用时使用全名称定义。

eg:

www.bit.java.message.Message msg = new www.bit.java.message.Message() ;

3 系统常用包

  1. java.lang:系统常用基础类(String、Object),此包从JDK1.1后自动导入。
  2. java.lang.reflect:java 反射编程包;
  3. java.net:进行网络编程开发包。
  4. java.sql:进行数据库开发的支持包。
  5. java.util:是java提供的工具程序包。(集合类等)(巨重要)
  6. java.io:IO编程开发包。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2023年5月29日 学习要点 理解继承的概念,超类和子类的关系,掌握它们在继承中的应用; 掌握类中有关private成员的访问控制方法; 理解方法重载和方法重写的区别和使用方法; 第1页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第1页。 2023年5月29日 4.1 是由.class文件组成的一个集合 第2页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第2页。 2023年5月29日 4.1.1 定义 构建语句的语法是: package pkg1[.pkg2[.pkg3…]]; 例如:package com.javaworld; package语句作为Java源文件的第一条语句。如果没有package语句,则为缺省无名。 则该语句的前面只能有注释或空行。而且一个文件中最多有一条package语句。 包名有层次关系,全部用小写字母,各层之间用点分割. 第3页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第3页。 2023年5月29日 是类的容器,用于分割类名空间。 如果不指定,默认就存在当前文件夹里面。 当使用说明时,程序不需要再引入同一个或者该的任何元素。 如果声明是: package com.sun.java; 则此文件必须存放在Windows的com\sun\java目录下。 第4页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第4页。 2023年5月29日 包名必须唯一 主要是为了交流,和便于大家的协同合作。 一个使用较多的办法是反转域名,如 com.sun.util; 包名的解释 Java解释器的执行顺序是:首先找到环境变量classpath,利用classpath含的一个或者多个目录,把他们作为一种特殊的"根"使用,从这里开始搜索,搜索时会把"."替换成"\"(Windows)。 第5页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第5页。 2023年5月29日 4.1.2 导入 import的语法是: import pkg1[.pkg2[.pkg3…]].(类名" * ); 例如:import java.awt.*; 引入整个时,可以方便的访问中的每个类。 但是引入所有的会占用过多的内存。因此,我们建议只引入需要的类。 程序中不一定有引入语句。当需要引用某个类与当前类存储在一个物理目录下的时候,就可以直接使用,而不需要引入。 第6页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第6页。 2023年5月29日 4.1.3 类路径(CLASSPATH) 编译时:javac –d CLASSPATH路径 Myclass.java 例如:javac –d d:\Myjava myclass.java 则直接在d:\Myjava下创建在myclass.java中指明的目录,并把myclass.class拷到该目录下。 运行:java 包名.类名    如  java   pk1.pk2.类名A 示例 CircleDemo2.java 第7页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第7页。 2023年5月29日 jdk中常用 java.lang----含一些Java语言的核心类,如String、Math、Integer、System和Thread,提供常用功能。 java.awt----含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。 java.applet----含applet运行所需的一些类。 java.net----含执行与网络相关的操作的类。 java.io----含能提供多种输入/输出功能的类。 java.util----含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。 第8页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第8页。 2023年5月29日 4.1.4 访问控制 第9页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第9页。 2023年5月29日 4.2 继承 面向对象的编程允许从现有类派生出新类,这称为继承。 使用继承,程序员可以创建一个定义了多个相关项目共有特性的通用类,然后,其它较为具体的类可以继承该类,同时再添加自己的独有特性。 在Java定义的每一种类都是从现有类派生来的,或者是显式或者是隐式(如从Object类派生) 第10页/共41页 java期末复习第讲面向对象程序设计全文共41页,当前为第10页。 2023年5月29日 11 4.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值