/*
有了包之后类与类之间的访问:
问题:有了包之后,类与类之间的访问都必须加上包名!!烦!!!!
解决方案: sun引入导包语句解决该类文件。
导包语句的作用是简化书写。
导包语句的格式:
import 包名.类名;
钟同学(经典): import语句的作用是把一个类文件加载到了内存中。
1. 把包中类文件导入到内存中。
2. import 包名.* 把一个包中的所有类导入了内存,速度慢。
导包语句要注意的细节:
1. 一个java文件可以出现多个import语句。
2. 导包的时候可以使用通配符"*"来匹配类名。"*"可以匹配任何的类名。
3. import bb.*; 该语句不会作用于bb包下面的子包。
推荐使用: 不要使用通配符导包,因为结构不清晰。
jvm加载class文件是属于懒惰型加载,只有使用到了该类文件的时候才会 被加载。
什么时候需要使用导包语句??
类与类之间的访问,如果这两个类不属于同一个包,那么则需要使用到导包语句。
java.lang包的类jvm会自动导入,不需要我们自己导入java.lang包的类。
*/
package aa;
import java.util.Arrays;
public class Demo3
{
public static void main(String[] args)
{
/*
Demo4 d = new Demo4();
d.print();
Demo5 d2 = new Demo5();
d2.test();
*/
Object o = new Object();
int[] arr = {12,34,67};
System.out.println(Arrays.toString(arr));
}
}
/*
访问权限修饰符:访问权限修饰符就是用于控制修饰的类、变量、方法的可见范围。
public protected default private (从大到小排序)
同一个类 true true true true
同一个包 true true true false
子父类 true true false false
不同包 true false false false
注意: 在不同包中类与类之间可以访问的权限修饰符只有public 与protected才可以相互访问 ,
但是protected必须要在继承关系下才能使用。
*/
package aa;
import bb.Demo7;
public class Demo6 {
public static void main(String[] args)
{
Demo7 d = new Demo7();
System.out.println("num:"+ d.num);
}
}