`

包的应用

阅读更多
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语言实例...

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

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

    安卓应用包名集合.xlsx

    2020/7/14 最新安卓应用包名的集合,包含应用名和包名 19万条数据可用于大数据分析,重新是否和自己包名重复等操作

    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还提供了一些高级功能,如过滤规则和...

    打Jar包小工具,运行cmd.bat自动打jar包

    在Java开发过程中,打包应用程序为JAR(Java Archive)文件是一项常见的任务,它将源代码编译后的类文件和其他资源组合成一个独立的可执行文件。"打Jar包小工具"是一个便捷的解决方案,旨在简化这个过程。这个工具...

    cas客户端war包和project源代码

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

    jar包启动脚本与关闭脚本win+linux

    总结来说,这些脚本使得管理基于Spring Boot的jar包应用变得更加便捷,无论是启动还是关闭,都能在Windows和Linux上进行,并且可以灵活地配置端口、外部配置文件等参数。在实际操作中,还需要注意确保安全性,比如...

    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)信息。这些信息在多种场景下非常有用,例如,当进行应用签名验证、集成第三方服务或者配置权限...

    获取app版本_包名_入口Activity

    在Android开发中,获取应用程序的包名、入口Activity和版本信息是常见的需求,这对于调试、统计分析或权限管理等场景非常关键。以下是对这个"获取app版本_包名_入口Activity"主题的详细解释。 首先,我们要理解这些...

    微信小程序表情包案例.rar

    在这个"微信小程序表情包案例"中,我们将探讨如何利用微信小程序开发工具创建一个功能丰富的表情包应用。 首先,我们需要了解微信小程序的基础架构。它基于JavaScript、WXML(微信小程序标签语言)和WXSS(微信小...

    应用层抓包嗅探源代码

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

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

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

    查看应用包名

    直接安装到手机上,安装完打开就能看到手机上所有安装软件的包名。该软件只试用安卓机

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

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

Global site tag (gtag.js) - Google Analytics