欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

在Java中,如何处理包外的类引用?

最编程 2024-08-02 11:40:32
...


Java中的包

  • 包的概念及应用

        在Java中,包主要有以下用途:

                包允许将类组合成较小的单元

                有助于避免命名冲突

                包允许在更广的范围内保护类、数据和方法

        包可以是类、接口和子包的集合

        将类放入包中

                package 包名;

        注意:

                在java中位于包中的类,在文件系统中的存放位置,必须有与包名层次相对应的目录结构

                package语句作为java源文件的第一条语句

                每个源文件只能声明一个包

                如果没有package语句,则默认为无名

  • 访问其它包中的类

        包名.路径名

                package test

                class Cat extends p08.Animal{...}

        使用impot关键字引入其它包中的类

                package test;

                import p08.Animal;

                class Cat extends Animal{...}    

        位于同一包中的类可以直接访问

        导入包中的所有类

                import 包名.*;

        导入子包中的所有类

                import 包名.子包名.*;

        导入包中的某个类

                import 包名.子包名.类名;

  • JDK中常用的包

        java.lang

                Java语言包(包含String、Math、System等类),任何类中,该包中的类都会被自动导入

        java.util

                包含一些实用的工具类(包含list、calendar、date等类)

        java.awt

                图形用户界面包

        java.io

                提供多种输入/输出功能的类

  • 把自己的类打包

        使用java命令行参数

                jar -cvf animal.jar *.*

        使用Eclipse或MyEclipse中的Export工具

  • 访问权限修饰符

        用来控制类的成员和类的使用范围

                类成员的访问修饰符:private default protected public 

                类的访问权限修饰符:public  default

 

private

default

protected

 public 

同一包





同一包中的类

 




不同包中的子类

 

 



其他包中的类

 

 

 


类的封装和内部类

  • 类的封装

        将类的成员变量声明为私有的(private),再提供一个或多个共有(public)方法实现对该成员变量的访问或修改,这种方式被称为封装

  • 封装的目的

        隐藏类的实现细节

        让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作

        便于修改,增强代码的可维护性

        可进行数据检查

  • 内部类(嵌套类)

        内部类就是定义在另一个类内部的类

        内部类对于同一包中的其它类来说,内部类能够隐藏起来

  • 注意

        内部类可以访问其外部类中所有的属性和方法

        无需创建外部类的对象,即可从内部类访问外部类的变量和方法

        必须创建内部类的对象,否则无法从外部类访问内部类的变量和方法

        如果内部类中有和外部类同名的变量或方法,则内部类的变量和方法将获得比外部类的变量和方法更高的优先级

        不能定义static变量

  • 类中定义的内部类

        普通类的访问权限修饰符

                default

                public

        内部类的访问权限修饰符

                dafault

                public

                protected

                private

   

推荐阅读