JAVA_SE基础——57.有了包之后类与类之间的访问

代码1访问代码2

代码1:

class Demo3 {
	public static void main(String[] args) {
		Demo4 a = new Demo4();
		a.print();
	}
}
代码2:

class Demo4{
	public void print(){
		System.out.println("这个是Dmeo4的print方法...");
	}
}
运行结果:



如果把他们都放入不同的包,还能访问的到吗?

创建了分别的包:   代码3 访问 代码4

代码3:

package a;
class Demo3 {
	public static void main(String[] args) {
		Demo4 a = new Demo4();
		a.print();
	}
}
代码4:

package b;
class Demo4{
	public void print(){
		System.out.println("这个是Dmeo4的print方法...");
	}
}
结果是编译Demo3就报错

JAVA_SE基础——57.有了包之后类与类之间的访问_第1张图片

上面说找不到符号,就是找不到Demo4       而Demo4是在b包的 下面我将代码3改下(代码4不用改), 看看能不能访问。

这时候就要用到导包语句;

导包语句的格式:
import 包名.类名;   (导入xxx包中某个类)


导包语句要注意的细节:
1. 一个java文件中可以出现多句导包语句。
2. "*"是 导包语句的通配符。可以匹配任何 的类名。
3. import aa.*; 是不会作用于aa包下面的子包的。

推荐使用:import 包名.类名;   因为使用*通配符会导致结构不清晰。


什么时候使用import语句: 
1. 相互访问的两个类不是在同一个包下面,这时候就需要使用到导包语句。
2. java.lang 是默认导入 的,不需要我们自己导入。

修改后的代码3:

package a;
import b.Demo4;
class Demo3 {
	public static void main(String[] args) {
		Demo4 a = new Demo4();
		a.print();
	}
}
然后运行:



Demo3.java:2: b.Demo4 在 b 中不是公共的;   这个其实很简单。。这关于权限的问题,我会在下次介绍。

修改后的代码4:

package b;
public class Demo4{
	public void print(){
		System.out.println("这个是Dmeo4的print方法...");
	}
}
类名前面加上 public  这样Demo3就有权限访问了。 

运行结果:

JAVA_SE基础——57.有了包之后类与类之间的访问_第2张图片


在JDK中,不同功能的类都放在不同的包中,其中Java的核心类主要放在java这个包及其子包下,Java扩展的大部分类都放在javax包及其子包下。为了便于后面的学习,接下里简单介绍Java语言中的常用包。

-java.lang:包含了Java语言的核心类,如String、Math、System和Thread类等,使用这个包中的类无须使用import语句导入,系统会自动导入这个包下的所有类。

-java.util:包含了Java中大量工具类、集合类等,例如Arrays、List、Set等。

-java.net:包含Java网络编程相关的类和接口。

-java.io:包含了Java输入、输出有关的类和接口。

-java.awt:包含用于构建图形界面(GUI)的相关类和结构。

等等我就不一一介绍了,自己查看API吧~


下面我来体现下导入java.util.Arrays; 吧~

代码5

import java.util.Arrays; 
class Demo5 {
	public static void main(String[] args) {
		int[] arr = {8,5,7};
		Arrays.sort(arr);
		for(int i=0;i<arr.length;i++){
			System.out.print(arr[i]+" ");
		}
	}
}

导包后就可以使用util.Arrays  了...

运行结果:

5 7 8


交流企鹅:654249738,和自学者交流群:517284938


你可能感兴趣的:(java,java基础,包,JavaSE)