【Java学习5】包及异常处理

包的概念

包主要用于将不同功能的文件进行分割。之前编译的class文件都保存在同一目录中,如果出现了同名文件,那么就会发生文件被覆盖问题,而要解决文件名冲突问题就必须设置不同的目录,所以包实际上指的就是文件夹,在Java中使用package关键字来定义包,此语句必须写在java源文件首行。

定义包

package com.miss.demo //定义程序所在的包
public class Hello{
	public static void main(String args[]){
		System.out.print("Hello");
	}
}

当程序中出现包的定义后,如果在编译时,比必须使生成的Hello.class保存在指定目录下:com\miss\demo目录下。在JDK中提供了以下两种命令自动打包编译指令:

  • 打包编译:javac -d .Hello.class
    -d:生成目录,根据package定义生成
    .:设置保存的路径,如果为.则表示在当前路径下生成
  • 在解释程序时不需要进入包里面,应该在包外面输入类的完整名称:包.类
    java com.miss.demo.Hello

包的导入

使用包可以将一个完整的程序拆分成不同文件进行分别保存,但是在不同包之间可能需要进行互相访问,此时就需要使用包的导入:import语句

package com.miss.demo1;//定义包
import com.miss.demo.Hello;//导入需要的类
import com.miss.demo.*;//使用通配符导入
public class Text{
	public static void main(String args[]){
		//此时可以直接使用demo中的Hello类
	}
}

如果存在多个java源文件互相调用,为了解决编译顺序问题,可以使用通配符操作:javac -d . *.java

系统常见包

  • java.lang:基本的包
  • java.util:工具包,一些常用的类库、日期操作等
  • java.text:提供文本处理类库
  • java.sql:数据库操作包
  • java.net:网络编程
  • java.io:输入、输出及文件操作处理
  • java.awt:GUL开发
  • java.swing:图形界面开发,比awt要轻量

jar命令

使用jar命令针对*.class文件进行压缩,相当于打包操作。

  • -c:创建一个新文件
  • -v:生成标准的压缩信息
  • -f:由用户自己指定一个*.java的文件名称
jar -cvf my.jar com
//就会将com目录打包压缩成一个jar文件

访问控制权限

  • private:在同一类中访问
  • default:在同一包中访问
  • protected:在不同包的子类中访问
  • public:所有都可以访问

异常

java对异常处理提供了3个关键字:try、catch、finally

try{
	//可能出现异常的语句
} [catch (异常类型 对象)]{
	//异常处理
} [catch (异常类型 对象)]{
	//异常处理
} [finally]{
	//不管是否出现异常,都执行
}
package com.miss.demo;
public class Text{
	public static void main(String args[]){
		try{
			int i = 0/2;
		} cath(ArithmenticException e){
			System.out.print("出现异常了");
			e.printStackTrace();//输出异常信息
		}
	}
}

throws关键字

throws关键字主要在方法定义上声明,表示此方法不进行异常处理,而是交给调用处处理。

class A{
	public void print() throws Exception{ //此方法不处理异常
	}
}
//需要要调用A类,则必须进行异常处理
//如果在主方法中使用throws则交给JVM处理

异常处理标准格式

package com.miss.demo;
class MyMath{
	public static int div(int x,int y) throws Exception{
		int result = 0;
		try{
			result = x / y;
		} catch (Exception e){
				throw e;
		} finally {
			//计算结束
		}
		return result;
	}
}

可变参数

public static int add(int ... data){
	for(int x = 0; x < data.length; x++){
		System.out.println(x);
	}
}
add(1,2,3);//可通过可变参数传递数组、参数等
add(new int []{1,2,3});

foreach循环

int data [] = new int []{1,2,3};
foreach(int x:data){
	System.out.print(x);
}

枚举

枚举主要用于定义一组可以使用的类对象,使用enum关键字定义枚举类型。

enum Color{
	RED、BLUE、GREEN;
}
Color red = Color.RED;//直接取得枚举对象
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值