您的位置:首页 > 编程语言 > Java开发

java面向对象-包package-包与包之间访问-导入包import

2014-07-30 21:18 656 查看
包(package)

1,对类文件进行分类管理

2,给类提供多层命名空间

3,写在程序文件的第一行

4,类名的全称是 包名.类名

5,包也是一种封装形式

带包的java文件编译命令

编译:javac -d . PackageDemo.java

运行:java pack.PackageDemo

编译:javac -d d:\a\day0814 PackageDemo.java

运行:set classpath=d:\a\day0814

      java pack.PackageDemo
package pack;
class PackageDemo
{
public static void main(String[] args)
{
packa.DemoA d = new packa.DemoA();
d.show();
//System.out.println("Holle World!");
}
}

package packa;
public class DemoA extends packb.DemoB
{
public void show()
{
System.out.println("A:Holle World!");
method();
}
}

package packb;
public class DemoB
{
public void method()
{
System.out.println("B Holle World!");
}
}


错误原因:packa包不在当前目录下

需要设置classpath,告诉jvm去哪里找指定的packa包

错误原因:有了包,范围变大,一个包中的类要被访问,必须要有足够大的权限。所以被访问的类要被public修饰

错误原因:类公有后,被访问的成员也要公有才可以被访问

总结:包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰。

 不同包中的子类还可以直接访问父类中被protected权限修饰的成员。

 

包与包之间可以使用的权限只有两种, public protected

           public   protected   default   private

同一个类中  ok         ok         ok        ok

同一个包中  ok         ok         ok

子类        ok         ok

不同包中    ok

为了简化类名的书写,使用一个关键字,import

import 导入的是包中的类

d:\a\day0814

d:\a\day0814\packb\DemoA.class

d:\a\day0814\packa\DemoB.class

import packa.*;

import packb.*;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java