先了解一下基本知识:
1,包(package):包是组织类的一种方式,使用包的目的是保证类的唯一性。
简单举例:使用包就可以创建多个TestDemo
怎么创建呢? src -> new ->Package 此时输入包名,然后右键包名,新建一个类,输入类名就行了。
2,导入包中的类:
在IDEA中,有时候在写代码的时候可以直接调用系统包,调用后可以鼠标放在调用的包上,按住Ctrl鼠标左键点击,可以进去看源代码,按住Alt+7,左侧会出现源码所有的方法。
常见的系统包:
1. java.lang:
系统常用基础类
(String
、
Object),
此包从
JDK1.1
后自动导入。
2. java.lang.reflflect:java
反射编程包
;
3. java.net:
进行网络编程开发包。
4. java.sql:
进行数据库开发的支持包。
5. java.util:
是
java
提供的工具程序包。
(
集合类等
)
非常重要
6. java.io:i/o编程开发包
调用时出现的问题:
>1先看一下正常的调用:
import java.util.Date; //调用Data包
//import java.util.*;
//或者直接写成.*可以直接调用util里面所有的包
/**
* Created with IntelliJ IDEA.
* Description:
* User: 联想
* Date: 2020-10-24
* Time: 20:42
*/
public class TestDemo {
public static void main(String[] args) {
Date date = new Date();//得到一个毫秒级别的时间戳
System.out.println(date.getTime());
}
}
>2如果调用两个的时候有冲突的话,需要进行指明调用的是哪个,
什么意思呢,看下面的代码:
import java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
// util 和 sql 中都存在一个 Date 这样的类, 此时就会出现歧义, 编译出错
Date date = new Date();
System.out.println(date.getTime());
}
}
这时候我们就要进行指明调用的是哪个包:
import java.util.*;
import java.sql.*;
public class Test {
public static void main(String[] args) {
java.util.Date date = new java.util.Date();
System.out.println(date.getTime());
}
}
这时候编译就不会出现问题了。
包访问权限:
类中的
public
和
private. private
中的成员只能被类的内部使用
.
如果某个成员不包含
public
和
private
关键字
,
此时这个成员可以在包内部的其他类使用
,
但是不能在包外部的类使用.
代码伺候:
此时这个a是无法访问的,如果在TestDemo中的a前加一个public,
这个时候a就可以进行访问。
public:任何位置都访问
private:在本类里访问
protected
默认访问控制权限:在同一个包里访问,什么都不加