黑马程序员——第10天——(面向对象)包package,包与包之间的访问,导入import
2015-01-06 16:22
441 查看
package pack;
为了简化类名的书写,使用一个关键字,import。
import 导入的是包中的类。不是包
建议,不要写通配符 * 。需要用到包中的哪个类,就导入哪个类。
c:\myclass
c:\myclass\packb\DemoA.class
c:\myclass\packb\haha\DemoZ.class
import packb.*;
import packb.haha.*;
建立包名不要重复,可以使用url来完成定义。url是唯一的、
www.itcast.cn
package cn.itcast.demo
package cn.itcast.test
import pack.haha.hehe.heihei.*; class PackageDemo { <span style="white-space:pre"> </span>public static void main(String[] args) <span style="white-space:pre"> </span>{ <span style="white-space:pre"> </span>// packa.DemoA d = new packa.DemoA(); <span style="white-space:pre"> </span>// d.show(); <span style="white-space:pre"> </span>packb.DemoB b = new packb.DemoB(); <span style="white-space:pre"> </span>b.method(); <span style="white-space:pre"> </span>} }
package packa; public class DemoA extends packb.DemoB { public void show() { System.out.println("demoa show run"); method(); } }
package packb; public class DemoB { public void method() { System.out.println("demob method run"); } }
PackageDemo.java:8: 错误: 找不到符号
DemoA d = new DemoA();
^
符号: 类 DemoA
位置: 类 PackageDemo
PackageDemo.java:8: 错误: 找不到符号
DemoA d = new DemoA();
^
符号: 类 DemoA
位置: 类 PackageDemo
2 个错误
错误原因:类名写错。
因为类名的全名是:包名.类名
packageDemo.java:8:软件包 packa 不存在
packa.DemoAd = new packa.DemoA();
错误原因:packa包不在当前目录下
需设置classpath,告诉jvm去哪里找指定的packa包
PackageDemo.java:8: 错误: DemoA在packa中不是公共的; 无法从外部程序包中对其进行访
问
PackageDemo.java:8: 错误: DemoA在packa中不是公共的; 无法从外部程序包中对其进行访
问
错误原因:有了包,范围变大,一个包中的类要被访问,必须要有足够大的权限。
所以被访问的类要被public修饰。
总结:
包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰。
不同包中的子类还可以直接访问父类中被protected权限修饰的成员。
包与包之间还可以使用的权限只有两种,public protected。
public
protected default(默认)
private
同一个类中 ok
ok ok ok
同一个包中 ok
ok ok
子类 ok ok
不同包中 ok
*/
相关文章推荐
- java面向对象-包package-包与包之间访问-导入包import
- 黑马程序员—Java面向对象(异常处理机制、package包、import导入包、jar包)
- [疯狂Java]面向对象:封装(JavaBean)、包(package)、import(导入和静态导入)
- 黑马程序员——面向对象(包_package,import)
- Java--包(package),import,两包之间访问
- 黑马程序员——面向对象(二)---类的继承、多态性、匿名内部类、异常、包、访问控制、命名规范、jar文件
- 黑马程序员_Java基础[24]_package、import
- JAVA 包与包之间访问(package)
- day10异常特点总结,包(package),import (导入),jar包命令。
- 黑马程序员_day09 面向对象(内部类访问规则,静态内部类,内部类定义原则,匿名内部类)
- 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)
- 黑马程序员 Java面向对象——包(package) Object 类
- 黑马程序员 Java面向对象——包(package)
- import 初探之一 —— 导入 Package
- 黑马程序员 java 基础 毕向东 面向对象 内部类访问规则
- 黑马程序员 自学18C#面向对象之访问修饰符与属性
- 黑马程序员_学习日记48_616数据库开发及ADO.Net(带参数的Sql语句、数据库与文本文件导入导出、省市联动、资料管理器、DataSet (ado.net断开式数据访问)、SQLHelper)
- 黑马程序员-Java语言基础–面向对象 第10天
- Java包及访问控制权限--包的定义和导入---package
- 黑马程序员-day10-面向对象(包package)