java中package和import的作用(初学之用)

简介: Package (包)就是用来解决这个问题的。

Package (包)就是用来解决这个问题的。通过将同名的类放到不同的包里面,我们就可以:


如果出现了名字相同的类怎么办?两个名字相同的User类,其内涵是否也一样呢?如果不一样,要如何区分它们呢?



例如有两个 User 类,把它们分别放到包 p1 和 p2 中,就得到两个不同的类: p1.User 和 p2.User。
 1.对同名的类进行区分;
 2.精确地指明我们需要其中的哪一个;

 3.让同名的类在一个程序当中共存。


为什么这么说呢?因为每个类都会属于一个包,那些没有指定属于哪个包的类,我们认为它们属于缺省包(default package)。实际上,一个完整的类名就是包名与类名的组合。比如当我们说 Date 类时,通常指的是 java.util.Date 类。要使用这个类,我们需要给出完整的类名。下面是一个例子:

public static void main(String[] args) {
    System.out.println("现在是 " + new java.util.Date());
}

import 的用法,简单的说就是,在源代码的开头声明了 import java.util.Date;之后,下面的源代码中使用 Date 类就无需用完整的类名了:

import java.util.Date;
public static void main(String[] args) {
    System.out.println("现在是 " + new Date());
}

注意:所以 import 的作用很简单,就是省略包名,减少不必要的重复。不过它不是万能的,如果你要在一个 java 文件中同时使用 java.util.Datejava.sql.Date 的话,那么 import 就只能适用其中的一个,另一个你还得用完整的类名。


最后对于一个初学者来说,把package理解为一个文件夹就可以了!


目录
相关文章
|
2月前
|
Java API 数据处理
Java 包(package)的作用详解
在 Java 中,包(package)用于组织和管理类与接口,具有多项关键作用:1)系统化组织代码,便于理解和维护;2)提供命名空间,避免类名冲突;3)支持访问控制,如 public、protected、默认和 private,增强封装性;4)提升代码可维护性,实现模块化开发;5)简化导入机制,使代码更简洁;6)促进模块化编程,提高代码重用率;7)管理第三方库,避免命名冲突;8)支持 API 设计,便于功能调用;9)配合自动化构建工具,优化项目管理;10)促进团队协作,明确模块归属。合理运用包能显著提升代码质量和开发效率。
|
2月前
|
Java 数据安全/隐私保护
Java 包(package)的使用详解
Java中的包(`package`)用于组织类和接口,避免类名冲突并控制访问权限,提升代码的可维护性和可重用性。通过`package`关键字定义包,创建相应目录结构即可实现。包可通过`import`语句导入,支持导入具体类或整个包。Java提供多种访问权限修饰符(`public`、`protected`、`default`、`private`),以及丰富的标准库包(如`java.lang`、`java.util`等)。合理的包命名和使用对大型项目的开发至关重要。
|
3月前
|
前端开发 Java 编译器
【前端学java】java中的package与import(3)
【8月更文挑战第9天】java中的package与import
26 2
【前端学java】java中的package与import(3)
|
3月前
|
Java Maven 数据库
|
4月前
|
Java Spring
idea新建spring boot 项目右键无package及java类的选项
idea新建spring boot 项目右键无package及java类的选项
217 5
|
4月前
|
Java 编译器
Java演进问题之链式访问和集中访问区别如何解决
Java演进问题之链式访问和集中访问区别如何解决
|
4月前
|
存储 运维 Java
Java面试题:JVM的内存结构有哪些主要部分?请简述每个部分的作用
Java面试题:JVM的内存结构有哪些主要部分?请简述每个部分的作用
58 9
|
4月前
|
缓存 安全 Java
Java面试题:解释volatile关键字的作用,以及它如何保证内存的可见性
Java面试题:解释volatile关键字的作用,以及它如何保证内存的可见性
77 4
|
4月前
|
存储 Java 编译器
Java面试题:描述方法区(Method Area)的作用以及它在JVM中的演变(从永久代到元空间)
Java面试题:描述方法区(Method Area)的作用以及它在JVM中的演变(从永久代到元空间)
56 3
|
4月前
|
Java API
Java面试题:说明Lambda表达式在Java中的应用,以及函数式接口的概念和作用。
Java面试题:说明Lambda表达式在Java中的应用,以及函数式接口的概念和作用。
36 0