`

包的应用

阅读更多
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
分享到:
评论

相关推荐

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

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

    基于Keil+51单片机文件包应用举例.rar(源码+仿真)

    基于Keil+51单片机文件包应用举例.rar(源码+仿真)基于Keil+51单片机文件包应用举例.rar(源码+仿真)基于Keil+51单片机文件包应用举例.rar(源码+仿真)基于Keil+51单片机文件包应用举例.rar(源码+仿真)基于Keil...

    spring boot jar包应用启动脚本

    spring boot jar包应用启动脚本

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

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

    X00132-用R语言解读传染病传播模型源码:自由增长模型、SI模型、SIS模型、SIR模型及EpiModel包应用.pdf

    X00132-用R语言解读传染病传播模型源码:自由增长模型、SI模型、SIS模型、SIR模型及EpiModel包应用.pdf

    安卓应用包名集合.xlsx

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

    android 通过应用包名打开应用

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

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

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

    docker python3.8镜像包

    Docker 是一个开源的应用容器引擎,允许开发者打包应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 ...

    docker离线包,nginx、mysql、redis镜像

    Docker允许开发者在标准化的容器内打包应用,确保应用在从开发、测试到生产环境的一致性。同时,Docker也提供了强大的镜像管理功能,用户可以通过官方的Docker Hub或其他镜像仓库获取常用的镜像资源。 在某些特殊...

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

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

    android手机抓包工具3种

    - **简介**:这是一款专为Android设计的图形界面抓包应用,无需root权限即可使用,简化了数据包捕获的过程。 - **使用方法**: 1. 安装APK到手机。 2. 打开应用,设置必要的参数,如选择要监听的网络接口,设置...

    统信Windows应用兼容引擎deb安装包及其依赖包

    标题中的“统信Windows应用兼容引擎deb安装包及其依赖包”指向了一套兼容Windows应用的工具,其中“deb”是Debian及其衍生系统(如Ubuntu和Deepin)所用的包格式。安装包是为了解决软件安装和配置过程中的复杂性,...

    OpenHarmony签名工具包

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

    获取安卓手机安装应用包名,并打开对应应用

    在安卓平台上,获取已安装应用的包名以及打开相应应用是常见的操作,这对于开发者来说尤其重要,例如在实现分享功能、启动其他应用的服务或者进行应用间交互时。本篇文章将详细解析这一过程,并提供相关代码示例。 ...

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

    vs2010中如何发布网站及打包web项目生成安装文件

    - “应用程序文件夹”:用于放置要安装的应用程序所需的文件。 - “用户的‘程序’菜单”:安装完成后,“开始”菜单中显示的内容,通常包含应用程序的快捷方式和卸载程序。 - “用户桌面”:安装后,用户的桌面...

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

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

Global site tag (gtag.js) - Google Analytics