JAVA学习笔记(三十一)

 

包及访问控制权限


1.1 大型程序开发


在java中,可以将一个大型项目的类分别独立出来,分门别类的寻到文件里,在将这些文件一起编译执行,如此的程序代码更易于维护。


多人开发共同开发一个项目的时候,为了避免名称重复而采用的措施,,就要用包。

 


1.2 包的概念


paceage是在使用多个类或者接口时候,为了避免名称重复而采用的措施,直接在程序中加入package关键字即可。

包的定义格式:

package 包名称.子包名称

 


package liuchao.demo01;//定义一个包
class Demo
{
 public String getInfo(){
 return "hello world!";
 }
};
public class PackageDemo01
{
 public static void main(String args[]){
 System.out.println(new Demo().getInfo());
 }
}

实际上定一包之后,类名称就是:包名称.类名称.

所谓的包实际上就是一个文件夹,一个*.class文件要保存在一个文件夹中。

既然包本身就是文件夹所以在java编译指令中提供了专门的打包编译指令。
在编译的时候加上参数。


打包编译:
javac -d . PackageDemo01.java


此时生成*.class文件之后,就可以直接访问了。
 
执行:>java liuchao.demo01.PackageDemo01

必须加上包名称

 


1.3  包的导入


当一个包的class文件需要使用另一个包的class文件时候就需要包的导入。

包的导入需要import语句完成 

语法:import 包名称.子包名称.类名称;->手工导入所需要的类

     import 包名称.子包名称.*;->由jVM自动加载所需要的类

如果一个类需要被外包访问,则此类一定需要定义为:public class

而且在一般开发中对于一个*.java文件中往往都只定义一个类:public class 。


问题:那么两种导入语句,哪一个性能更高呢?

import 包名称.子包名称.类名称;->手工导入所需要的类

import 包名称.子包名称.*;->由jVM自动加载所需要的类

实际上来说这两种的性能都是一样的,因为如果使用后者,是由JVM帮助用户判定需要导入的类,不需要的类,是不会被加载进来的。

1.4 系统常见包


java.lang   基本包

java.lang.reflect 反射机制的包 java.lang的子包

java.util 工具包 一些常用的类库都在此包中。

java.sql 数据库操作包 提供了各种数据库操作的类和接口

java.net 完成网络编程

java.io 输入输出处理

java.awt GUI

java.swing 此包用于建立图形用户界面

java.text 提供了一些文本的处理类库


1.5  jar命令的使用

一般情况下将这些由*.class文件压缩成一个jar(java archive file)文件供客户使用,如果要生成jar文件,直接使用JDK中bin目录里的jar.exe就可以将所有的类文件进行压缩。


直接输入jar即可

jar命令的主要参数:

“C”:创建新的文档
“V":生成详细的输出信息
”F“:指定存档的文件名


1.6  访问控制权限

在java中存在四种访问权限

private:可以定义方法,属性,定义的方法和属性不能被类的外部所看到。

default :可以在本包中的任意地方访问

protected: 保护,不同包的非子类不可以访问

public :公共的,都可以访问

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值