欢迎来到@一夜看尽长安花 博客,您的点赞和收藏是我持续发文的动力
对于文章中出现的任何错误请大家批评指出,一定及时修改。有任何想要讨论的问题可联系我:3329759426@qq.com 。发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
专栏:
文章概述:对包机制(package、import) 的介绍
关键词:包机制(package、import)
本文目录:
包机制(package、import)
包(package)相当于文件夹对于文件的作用。用于管理类、用于解决类的重名问题。
package
package的使用有两个要点:
- 通常是类的第一句非注释性语句。
- 包名:域名倒着写即可,便于内部管理类。
【示例】package的命名演示
com.oracle.test;
com.it.xiaoan.test;
com.it.xiaoan.view;
com.it.view.model;
注意事项
- 写项目时都要加包,不要使用默认包。
- com.gao和com.gao.car,这是两个完全独立的包。只是逻辑上看,后者是前者的一部分。
【示例】package的使用
package com.it.xiaoan;
public class Test {
public static void main(String[ ] args) {
System.out.println("helloworld");
}
}
在IDEA项目中新建包
在src目录上单击右键,选择new->package
在package窗口上输入包名即可
即可在src下面看到包:
接下来,我们就可以在包上单击右键,新建类啦
JDK中的主要包
表 JDK中的主要包
Java中的常用包 | 说明 |
java.lang | 包含一些Java语言的核心类,如String、Math、Integer、System和Thread。 |
java.awt | 包含了构成抽象窗口工具集(abstract window toolkits)的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)。 |
java.net | 包含执行与网络相关的操作的类。 |
java.io | 包含能提供多种输入/输出功能的类。 |
java.util | 包含一些实用工具类,如定义系统特性、使用与日期日历相关的函数。 |
java.lang
是一个核心包,包含了Java语言的基本类。这些类自动导入到每个Java程序中,因此你不需要显式地导入它们。例如,java.lang
包中包含了String
、System
、Math
、Object
、Integer
等类。因为这些类是非常基础且常用的,所以Java编译器默认会自动导入java.lang
包。在Java中,除了
java.lang
包是自动导入的,其他许多标准库包都需要显式导入
java.math.BigInteger
类是位于java.math
包中的一个类,用于进行任意精度的整数运算。这个包不属于核心包java.lang
,因此需要显式导入。例如:
package basic_value;
import java.math.BigInteger;//导入BigInterger类
public class BigIntegerExample {
public static void main(String[] args) {
//初始化类对象
BigInteger bigInt1 = new BigInteger("123456789012345678901234567890");
BigInteger bigInt2 = new BigInteger("987654321098765432109876543210");
//调用类的方法
BigInteger bigIntSum = bigInt1.add(bigInt2);
BigInteger bigIntProduct = bigInt1.multiply(bigInt2);
//输出显示
System.out.println("BigInteger sum: " + bigIntSum);
System.out.println("BigInteger product: " + bigIntProduct);
}
}
import java.awt.Frame;
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;
导入类import
如果要使用其他包的类,需使用import,从而在本类中直接通过类名来调用,否则就需要书写类的完整包名和类名。
注意要点
- Java会默认导入java.lang包下所有的类,因此这些类我们可以直接使用。
- 如果导入两个同名的类,只能用包名+类名来显示调用相关类:java.util.Date date = new java.util.Date();
静态导入
静态导入(static import): 其作用是用于导入指定类的静态属性和静态方法,这样我们可以直接使用静态属性和静态方法。(不用加类名了)
【示例】静态导入的使用
package com.it.xiaoan;
import static java.lang.Math.*;//导入Math类的所有静态属性和静态的方法
import static java.lang.Math.PI;//导入Math类的PI属性
public class Test2{
public static void main(String [ ] args){
System.out.println(PI);
System.out.println(random());
}
}
执行结果如图所示:
导入包问题:
java.lang
包中包含了Math
类。因为这些类是非常基础且常用的,所以Java编译器默认会自动导入java.lang
包。不需要显式掉用。有的是调用Math里的方法,
Math
类中的方法都是静态方法。java.lang.Math
类提供了一组静态方法 这就不需要显式的调用,直接使用Math.funtion()即可(属性同理)例如:int i = (int)(6 * Math.random()) + 1;//通过Math.random()产生随机数
(如果调用的话就可以不用接类名,直接引用这个方法或属性)
但有的调用的是Math下面的类,这就需要显式的调用
例如:import java.math.BigInteger;
大小写问题:
import java.math.BigInteger;
中的java.math
是包名,它采用小写字母,而BigInteger
是类名,它采用大写字母。
Math.random()
中的Math
是一个类名,random
是Math
类中的一个静态方法 ,所以Math要大写