包:在Java中,任何事情都由类来描述,所以单个程序使用到的类的数量非常多,因此必然需要把众多程序中都
可以重用的类型地组织起来。Java通过包来实现这个需求。包是类的集合,和c、c++中的库对对应。包可以通过
import子句实现引入。如:
import java.awt.*;
import java.applet.*;
import packagename1.*;
要创建包,只需要在java源程序的第一行输入package命令即可。任何在此文件中声明的类都属于这个包。
package语句定义了储存类的名称空间。
创建包的具体步骤:
---确定要放置.class文件的层次
---创建一个和包同名的目录
---在包名前使用package语句,作为程序的第一行语句
---声明包中需要的类
---使用.class扩展名 保存程序,文件名和类名相同
---用javac编译文件,在相同目录(和包同名的目录)创建.class文件
---执行.class文件
示例一:
public class Class1
... {
public static void meth1()
...{
System.out.println("Hello Friends--Class1");
}
}
在bin目录下创建一个叫mainpack的目录,并在该目录下保存这个文件为Class1.java。
public class Class2
... {
public static void meth2()
...{
System.out.println("Good Bey Friends--child");
}
}
现在在mainpack目录下创建一个叫child的子目录,在该目录下保存文件为Class2.java。
下面在bin目录下新建一个文件并添加如下代码:
import mainpack.child. * ;
class ex14
... {
public static void main(String args[])
...{
Class1.meth1();
Class2.meth2();
}
}
把该文件保存为ex14.java,编译(如果ex14.java编译成功,前面两个包类也会自动编译成功的)并执行类文件。
=××××××===怎么编译都不行,怎么改都不行,网上查,大家都方法都一样啊。最后发现都有“illegal character: /65307”错误信息,google一下,感谢http://www.cjsdn.net/post/print?bid=1&id=157210。原来是语句结束的分号是中文字符";"应该是英文的";"。改一下马上可以了,真是吐血!!!
描述 | private | 默认 | protected | public |
同一类中可 见 | y | y | y | y |
同一个包中对子类可见 | n | y | y | y |
同一个包中对非子类可见 | n | y | y | y |
不同一个包中对子类可见 | n | n | y | y |
不同一个包中对非子类可见 | n | n | n | y |