`

包的应用

阅读更多
package pack;

class PackageDemo{
	public static void main(String[] args){
		packa.Packa a = new packa.Packa();
		a.show();
		a.method();
	}
}

/*
PackageDemo.java:5: 错误: 找不到符号
                Packa a = new Packa();
                ^
  符号:   类 Packa
  位置: 类 PackageDemo
PackageDemo.java:5: 错误: 找不到符号
                Packa a = new Packa();
                              ^
  符号:   类 Packa
  位置: 类 PackageDemo
2 个错误

错误原因:类名写错
因为类名的全名是:包名.类名
________________________________________
PackageDemo.java:5: 错误: 找不到符号
                pack.Packa a = new pack.Packa();
                    ^
  符号:   类 Packa
  位置: 程序包 packa
PackageDemo.java:5: 错误: 找不到符号
                pack.Packa a = new pack.Packa();
                                       ^
  符号:   类 Packa
  位置: 程序包 packa
2 个错误

错误原因:packa包不在当前目录下
需要设置classpath告诉jvm去哪里找指定的packa包
————————————————————————————————————————————————
PackageDemo.java:5: 错误: Packa在packa中不是公共的; 无法从外部程序包中对其进行访
问
                packa.Packa a = new packa.Packa();
                     ^
PackageDemo.java:5: 错误: Packa在packa中不是公共的; 无法从外部程序包中对其进行访
问
                packa.Packa a = new packa.Packa();
                                         ^
2 个错误

错误原因:有了包,范围变大,一个包中的类要被访问,必须有
足够大的权限。被访问的类的修饰符加上public
________________________________________________
PackageDemo.java:6: 错误: show()在Packa中不是公共的; 无法从外部程序包中对其进行
访问
                a.show();
                 ^
1 个错误

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

总结:
包与包之间进行访问,被访问的包中的类以及类中的成员,需要public修饰
不同包中的子类还可以直接访问父类中被protected权限修饰的成员
包与包之间可以使用的权限只有两种:public和protected

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

*/

package packa;

public class Packa extends packb.Packb{
	public void show(){
		System.out.println("A hello");
		
	}
}

/*
G:\javaTest>javac -d . \myclass Packa.java
javac: 无效的标记: \myclass
用法: javac <options> <source files>
-help 用于列出可能的选项

G:\javaTest>javac -d .\myclass Packa.java


G:\javaTest>java pack.PackageDemo
A hello

类名为公有,其类名必须与文件名一致。
一个文件中不可以出现两个或以上公有的类或接口。

为了简化类名的书写,使用import,import导入的是包中的类
建议不要写通配符*,需要用到包中的哪个类就导入哪个类

建立包名不要重复,可以使用url来定义,url是唯一的

www.itcast.cn

package cn.itcast.demo
package cn.itcast.test

*/

package packb;

public class Packb{
	protected void method(){
		System.out.println("haha");
	}
}
0
1
分享到:
评论

相关推荐

    最新单片机仿真 文件包应用举例

    最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用...

    Android 多包名打包应用

    在Android开发中,多包名打包是一项常见的需求,尤其对于那些需要发布多个版本或针对不同客户定制应用的开发者来说。这个技术允许我们使用同一套源代码生成具有不同包名和应用名称的APK,以便区分不同的发布渠道或者...

    307-文件包应用举例(51单片机C语言实例Proteus仿真和代码)

    307-文件包应用举例(51单片机C语言实例Proteus仿真和代码)307-文件包应用举例(51单片机C语言实例Proteus仿真和代码)307-文件包应用举例(51单片机C语言实例Proteus仿真和代码)307-文件包应用举例(51单片机C语言实例...

    spring boot jar包应用启动脚本

    spring boot jar包应用启动脚本

    日文分词器的包应用,便于下载

    日文分词器的包应用,便于下载

    android 通过应用包名打开应用

    在Android系统中,每个应用程序都有一个独一无二的包名(Package Name),它在应用程序的清单文件(AndroidManifest.xml)中定义。包名起到了标识符的作用,使得系统能够区分不同的应用。本示例“android 通过应用包...

    Android 通过process进程信息拿到当期正在运行的APP包名

    在给定的标题"Android通过process进程信息拿到当期正在运行的APP包名"中,提到的关键点在于获取“栈顶应用包名”,这意味着我们要找到用户当前交互的那个应用。在Android中,栈顶应用通常指的是拥有焦点或用户界面...

    表情包流量版 v1.0.72.zip

    【标题】"表情包流量版 v1.0.72.zip" 暗示这是一个包含表情包应用的更新版本,具体是流量版,可能意味着该应用优化了数据使用,适合在移动网络环境下使用。版本号1.0.72表明这是软件的一个迭代升级,通常包含错误...

    Android应用源码之手机抓包相关工具.zip

    PacketCapture是一款专为Android设计的抓包应用,无需root权限即可捕获网络流量。它支持显示TCP、UDP等协议的数据包,可以导出为PCAP格式供其他工具分析。此外,PacketCapture还提供了一些高级功能,如过滤规则和...

    cas客户端war包和project源代码

    当我们拿到一个CAS客户端的war包时,这意味着我们拥有了一个可以直接部署到服务器上的Web应用,它负责处理用户的身份验证请求并与CAS服务器进行通信。 【标签】"cas":CAS是一种广泛使用的身份验证协议,它允许用户...

    OpenHarmony签名工具包

    OpenHarmony签名工具包是专为OpenHarmony操作系统设计的一款重要开发工具,它主要用于应用程序的签名与验证。在OpenHarmony系统中,签名是确保应用安全性和完整性的关键环节,因为未经签名的应用程序无法在系统上...

    java皮肤包

    JFrame frame = new JFrame("皮肤包应用示例"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); frame.setVisible(true); } ``` 在这个例子中,你需要替换...

    获取已装应用程序apk的包名及SHA1码

    在Android系统中,开发者或用户有时需要获取已安装应用程序的包名(Package Name)和SHA1证书指纹(SHA1 Fingerprint)信息。这些信息在多种场景下非常有用,例如,当进行应用签名验证、集成第三方服务或者配置权限...

    解决网上应用厅部署在was上jar包冲突问题

    ### 解决网上应用厅部署在WAS上JAR包冲突问题 #### 背景介绍 在企业级应用开发与部署的过程中,经常会遇到各种技术挑战,其中之一就是在WebSphere Application Server (WAS) 上部署应用程序时遇到的JAR包冲突问题。...

    应用层抓包嗅探源代码

    本项目名为"应用层抓包嗅探源代码",它提供了一种在应用层进行数据包捕获和分析的能力,这对于开发、调试和维护网络应用非常有价值。以下是关于这个项目的详细知识点: 1. **网络抓包基础**:网络抓包是通过监听...

    win7下的抓包工具,绝对真的

    标题提到的"win7下的抓包工具,绝对真的"显然指的是一个在Windows 7环境下可用的,经过验证的真实抓包应用。描述中的“上次在csdn下了个假的,好不容易找个真的给大share”强调了寻找可靠资源的挑战,并暗示该分享的...

    包过滤防火墙配置和应用实验.docx

    包过滤防火墙配置和应用实验.docx

    论文研究-互联网五种典型应用的平均包长概率分布研究.pdf

    从互联网五种典型应用的平均包长入手, 利用滑动窗口模型探索五种应用在平均包长概率分布上的差异。对FTP、Foxmail、WWW、迅雷、Emule五种应用的实验表明:设置相同的滑动窗口, 五种应用平均包长的均值有明显区别; ...

    Android应用源码简单大气的观哦天气预报项目源码

    这个“Android应用源码简单大气的观哦天气预报项目源码”是一个面向初学者和中级开发者的学习资源,它提供了一个完整的安卓应用实例,用于展示如何实现一个天气预报应用。通过这个项目,我们可以深入理解Android应用...

    PC端,便捷查看安卓应用包名,logo,等基础信息

    标题中的“PC端,便捷查看安卓应用包名,logo,等基础信息”指的是在个人计算机上使用特定工具来快速获取Android应用程序(APK)的基本详情,包括应用的包名、图标(logo)以及相关的配置信息。这样的工具通常设计...

Global site tag (gtag.js) - Google Analytics