黑马程序员技术交流社区
标题:
Java中包常识
[打印本页]
作者:
_Water
时间:
2014-4-4 12:58
标题:
Java中包常识
/*
包:对类文件进行分类管理
给类提供多层命名空间(名称空间)
写在程序文件的第一行
类名的全称是:包名.类名
包也是一种封装形式。
不同包中的类如何访问呢?
关于包常见的几种错误:
1.找不到符号:原因是类名写错,类名的全名是包名.类名
2.软件包不存在:原因是包不在当前目录下。需要设置classpath,告诉JVM去哪里找指定的package包
3.包中的类或方法在包中不是公共的,无法从外部软件包对其进行访问:
原因是有了包,范围变大,一个包中的类要被访问,必须要有足够大的权限。
所以要被public 修饰。类共有后,被访问的成员也要public 才可以被访问
总结:包与包之间进行访问,被访问的包中的类以及类中的成员需要public 修饰
不同包中的子类还可以直接访问父类中被protected修饰的成员。
包与包之间可以使用的权限只有两种:public和protected
public protectd default private
同一个类中 ok ok ok ok
同一个包中 ok ok ok
子类 ok ok
不同包中 ok
*/
package pack;
import packa.DemoA;//import 导入的是包中的类
import packb.DemoC;
/*
为了简化类名的书写,关键字:import
建议:不要写通配符*,需要包中的哪个类,就导入哪个类
建议定义包名不要重复,使用URL来定义,url是唯一的
package net.csdn.bbs
*/
class PackageDemo
{
public static void main(String[] args)
{
DemoA da=new DemoA();
da.show();
//=======当父类DemoB中的method方法修改权限为protected时,就不能直接访问到了
//packb.DemoB db=new packb.DemoB();
//db.method();
DemoC dc=new DemoC();
dc.method();
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2