面向对象——包整理

在程序中创建某个类的对象(该类在某个包中)

问题1、如果代码如下:DemoAbc d = new DemoA();则编译时会发生以下错误

PackageDemo.java:8: 找不到符号
符号: 类 DemoA
位置: 类 mypack.PackageDemo
                DemoA d = new DemoA();
                ^
PackageDemo.java:8: 找不到符号
符号: 类 DemoA
位置: 类 mypack.PackageDemo
                DemoA d = new DemoA();
                              ^
2 错误


原因:类名写错。
因为DemoA类已经有包的所属,所以必须要明确其包名。
记住:DemoA这个名词错的。 正确名称是报名.类名  packa.DemoA
--------------------------------------

问题2、以上问题修改后,编译时如果不写明包的位置会出现以下错误:
PackageDemo.java:8: 软件包 packa 不存在
                packa.DemoA d = new packa.DemoA();
                     ^
PackageDemo.java:8: 软件包 packa 不存在
                packa.DemoA d = new packa.DemoA();

2 错误

原因是在当前目录下没找到,因为packa存放在其他目录下,
应该配置一个classpath。

形式:set classpath 包的路径

问题3、如果类在包中中不是公共的;无法从外部软件包中对其进
行访问

问题4、该类的方法不是公共的

包与包之间的类进行访问,被访问的包中的类必须是public的,被访问的包中的类的方法也必须是public的。(这种情况说的是不同包之间,里面的

类不存在继承关系)

引申:protected这个权限仅给不同包之间的子类可以使用


包与包之间类进行访问权限:

          public protected default  private
同一类中    ok             ok              ok           ok
同一包中    ok             ok              ok           
子类中      ok             ok              
不同包中    ok


包的导入:import  为了简化类名书写

import packa.DemoA;//导入了packa包中的DemoA类

import packa.*;//导入了packa包中所有的类

导包的原则:用到哪个类,就导入哪个类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值