概述
在Java当中可以将一个大型项目中的类分别独立出来,分门别类地存放在不同的文件里面,再将这些文件一起进行编译执行,能够更好地维护程序代码。
1.包的基本概念
包(package) 实际上就是一个文件夹,在需要定义多个类或者接口时,为了避免名称之间的重复而采取的一种措施。直接可以只用package关键字即可,格式如下:
package 包名称.子包名称;
2.import 语句
如果几个类存放在不同的包当中时,在使用不同包当中的类时就需要通过import语句进行导入。import的语法格式如下:
import 包名称.子包名称.类名称; //手工导入所需要的类
import 包名称.子包名称.*; //由JVM自动加载所需要的类
对于分别手工导入与使用“ * ”导入来说两种导入性能都是一样的,对于使用“ * ” 是程序也是自动加载所需要的类,而不需要的类根本不会被加载进来的。
如果在一个程序当中同时导入了两个包的同名类,在使用的时候就必须明确的表示出完整的包和类名称,否则就会发生编译错误。
例如: util 和 sql当中都存在着一个Date 类,此时就会发生歧义,此时就需要在编写代码的时候使用完整的类名。
import java.util.*;
import java.sql.*;
public class Test{
public static void main(String[] args){
java.util.Date data = new java.util.Date();
System.out.println(date.getTime());
}
}
3.系统常见包
包名称 | 作用 |
---|---|
java.lang | 此包为基本的包,String、Inter等常用类都保存在这个报纸中,在JDK1.1之后为程序自动导入 |
java.lang.reflect | 此包为反射机制的包,是jaa.lang的子包 |
java.util | 此包为工具包,一些常见的类库、日期操作等都在此包当中 |
java.text | 提供了一些国际化显示的处理类库 |
java.sql | 数据库操作包,提供了各种数据库操作的类和接口 |
java.net | 完成网络编程 |
java.io | 输入、输出处理 |
java.awt | 包含了构成抽象窗口工具集的多个类,这些类用来构建和管理应用程序的图形用户界面 |
javax.swing | 此包用于建立图形用户界面 |
4.Java新特性 ——静态导入
在JDK1.5之后提供了静态导入功能。如果一个类当中的方法全部都是使用static声明的静态方法,则在导入时就可以直接使用import static的方式导入。导入格式如下:
import static 包.类.*;
示例:
package org.zd.demo01.o;
pubic class Operate{
public statc int add(int i,int j){
retun i+j;
}
publc static int sub(int i,int j){
return i-j;
}
}
上方代码的类中方法均是static 类型,所以在导入时可以使用静态导入的方式。
package org.zd.demo01.e;
import static org.zd.demo01.o.Operate.*;
public class StaticImportDemo{
public static void main(String[] args){
System.out.println("3 + 3 = "+add(3,3));
System.out.println("3 + 3 = "+sub(3,3));
}
}
5.访问权限控制
在Java当中一共存在4种访问控制权限,即 private 、default protected 和 public 。
private 访问权限
private 属于私有访问权限,可以用在属性的定义、方法的声明当中,一旦使用了private关键字声明,则只能在本类当中进行访问。
default(默认)访问权限
如果一个类当中的属性或者方法没有使用任何的访问权限声明,则就是默认的访问权限,默认的访问权限可以被本包中的其他类所访问,但是不能被其他包中的类所访问。
protected 访问权限
protected 属于受保护的访问权限。如果一个类当中的成员使用了protected访问权限,则只能被本包以及不同包当中拥有继承关系的子类所访问。
public访问权限
public 属于公共访问权限。如果一个类的成员使用了public访问权限,就可以在所有的类中被访问,不管是否在同一个包当中。
最后使用一张图表来总结上述的访问控制权限。
范围 | private | default | protected | public |
---|---|---|---|---|
同一类 | √ | √ | √ | √ |
同一包中的类 | √ | √ | √ | |
不同包中的子类 | √ | √ | ||
不同包中的不同类 | √ |
最后
以上就是淡定酒窝为你收集整理的包及访问权限控制的全部内容,希望文章能够帮你解决包及访问权限控制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复