学习Java以来,第一次感觉稍微有点不好理解的,下面说说吧。
存在意义:
包的存在就是为更好的组织结构
包的创建:
只要在程序的最前面加入 Package ******,就可以了,一般都喜欢写 com.carter.animal 等等之类的东西,刚开始以为这个东西是一个很复杂的东西,其实就是代表的一个目录结构用的,
如果刚开始理解不了的话,完全可以不用写这么多的".",我就是被这个点给搞糊涂了。
写了这句话之后,Eclipse会帮你把上面包名字也给改成对用的:
加上这玩意之后,好像类和函数都得声明成public的。
包的调用:
我现在会用的只要两种方法:
1.使用 import 关键字,例如:import com.carter.test.*;
2.直接在调用类的时候使用: com.carter.animal.animal,好暴力的办法啊
好了先看一下代码之间的关系结构,然后再看源码:
好,看看源码结构吧:
package com.carter.animal; public class animal { public void display() { System.out.println("wang.....wang....."); } }
package com.carter.dream; public class Human { // constructor 1 public Human(int h) { System.out.println("construct 1 " + h); } // constructor 2 Human(int h, String str) { System.out.println("construct 2 " + h + " " + str ); } }
package com.carter.dream; import com.carter.test.*; public class main { public static void main(String[] args) { // import了对应的包,然后使用类 test aTest = new test(); aTest.Nothing(); // 没有import,直接就使用这样的方式来进行调用类 com.carter.animal.animal adog = new com.carter.animal.animal(); adog.display(); } }
package com.carter.test; import com.carter.dream.*; public class test { public test() { System.out.println("test class"); } public void Nothing() { int i; i = 9; } Human human = new Human(1); }
输出结果:
construct 1 1
test class
wang.....wang.....