Java编程开发基础之面向对象深入课程-package与import

Java编程开发基础之面向对象深入课程-package与import面向对象深入课程含有以下部分:java面向对象本文是最新全套Java入门到架构师教程里的配套文档,这一篇主要讲面向对象深入-package与im

欢迎大家来到IT世界,在知识的湖畔探索吧!

面向对象深入课程含有以下部分:

Java编程开发基础之面向对象深入课程-package与import

java面向对象

本文是最新全套Java入门到架构师教程里的配套文档,这一篇主要讲面向对象深入-package与import。如需全套Java入门到架构师教程请私聊或留言评论。

一、package

1、概述

package存在的意义是防止命名冲突造成使用不便。

package类似一个文件夹,文件夹内有各种文件。package与package的附属关系用“.”连接,类似父文件夹中的子文件夹。比如说 java.lang.String就是java文件夹中的lang文件夹中的String文件。java.io.InputStream则是java文件夹中的io文件夹中的InputStream文件。

同一个文件夹内无法存在同名的文件,而不同名的文件夹里允许存在同名文件,因此不同文件夹(即不同package中允许出现相同class名)。

为了便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,Java 引入包(package)机制,提供类的多重类命名空间。

2、格式

一般的命名为:公司域名倒写+功能名|模块名。

package 语句作为 Java 源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。

package pkg1[.pkg2[.pkg3…]];

欢迎大家来到IT世界,在知识的湖畔探索吧!

例:

欢迎大家来到IT世界,在知识的湖畔探索吧!package com.java01.test;

Java 编译器把包对应于文件系统的目录管理,package 语句中,用’.’来指明包(目录)的层次,例如使用语句: package com.java01 ,则该文件中所有的类位于.\com\java01 目录下

3、注意:

  • 不要定义与 jdk 相同的包,相同的类,否则会引起很多你觉得莫名其妙的问题
  • 写项目时都要加包,不要使用默认包。
  • com.oop和com.oop.test,这两个包没有包含关系,是两个完全独立的包。只是逻辑上看起来后者是前者的一部分。

二、import

如果一个类存在包名,则在其他包下使用该类时,必须使用全额限定名(简称全名或完整类名,com.java01.MyClass),编译器才能找到该类;也可以使用 import 在文件的开头引入要使用到的类。

import java.util.Scanner;
import java.io.*; //模糊匹配当前io包下所有类
public class ImportDemo {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in); //因为使用import关键字导包,可以使用
        java.util.ArrayList list=new java.util.ArrayList(); //权限定名
        //导入集合 注意:导入是不要导错包
        //使用*,模糊匹配
        File file=new File("D://test.txt");
        InputStream isInputStream=new FileInputStream(file);
    }
}

不需要使用 import 地类有:

  1. 语言包 (java.lang)下的类 (String,System…)
  2. 同包下的类

静态导入: import 语句不仅可以导入类,还增加了导入静态方法的功能

欢迎大家来到IT世界,在知识的湖畔探索吧!//导入静态属性
import static java.lang.Math.PI;
import static java.lang.System.out;
//导入静态方法
import static java.lang.Math.sin;

public class ImportDemo {
    public static void main(String[] args) {
        out.println(PI);
        sin(1.1);
    }
}

三、总结

  • 如果想将一个类放入包中,在类的源文件首行使用package
  • 必须保证该类的 class 文件位于正确的目录下
  • 另外的类想访问的话:
  1. 写全名
  2. 引入
  • 模糊匹配(会将该包下所有用到的类引入进来),会降低编译速度,但是不会影响运行速度
  • 具体类名
  • 静态导入

3.同包下的类不需要导入

四、JDK 中常用的包简单介绍:

  1. java.lang –语言包:语言中常用的功能,如:String、Math、System、Integer、Thread…
  2. java.util – 工具包:提供一些实用的工具类,如:容器(List、Set、Map…),日期类
  3. http://java.io – 输入输出包:提供操作读取文件的相关类,如:File、InputStream、OutputStream…
  4. http://java.net – 网络包: 操 作 远 程 资 源 的 类 , 如:InetSocketAddress、 DatagramPacket、 ServerSocket…
  5. java.sql – 数据库包:操作JDBC的类,Connection、Statement、ResultSet….

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/32742.html

(0)
上一篇 2023年 11月 8日 下午6:23
下一篇 2023年 11月 15日 下午5:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信