2016年3月29日JAVA学习笔记

1、昨天晚上被杨某人叫去跟她的同事玩狼人,略尴尬,但也玩的很尽兴。只可惜浪费了一晚上的时间。

2、昨天白天开始学习异常,之前浅薄学习Python时有接触过异常,大概对异常有个了解,相比于之前写单片机的C语言来说,这些高级语言的异常处理显得既高级又很人性化,当然了,代价就是需要额外的进行学习。

依稀记得学过的Python异常,是完全使用捕捉的形式,即在需要检测异常的时候,使用一个异常捕捉语句,自动的对发生的异常进行捕捉,然后在跟进的处理语句中对异常种类进行匹配,最后进行相应的处理,处理完毕之后程序可以继续进行而不是在控制台中报错。

3、JAVA的异常相比我了解的Python异常多了一个手动抛出的功能(当然也Python也可能有,不去深究了),相比于捕捉来说,我觉得手动抛出很不好用。

手动抛出需要在异常发生的每一层函数(方法)进行一个抛出声明,直至主函数层(不知是否正确)。

4、初级的异常处理代码

class fushuException extends Exception  //自行定义的异常类
{
	fushuException(){}
	fushuException(String msg)  //带参数的构造函数,直接使用继承自Exception的构造函数
	{
		super(msg);
	}
}
class demo
{
	public int method(int[] arr, int index)throws fushuException//	声明抛出
	{
		if(index<0)  //抛出条件
		{
			throw new fushuException("负数角标");  //创建一个异常类对象
		}
			return arr[index];
	}
}
class test
{
	public static void main(String[] args)
	{
		int[] arr = new int[3];
		try
		{
			new demo().method(arr,-2);
		}
		catch (fushuException e)  //使用一个异常类引用作为参数
		{
			System.out.println(e.getMessage());  //调用异常类的方法
		}
		System.out.println("continue");
	}
}

  

时间: 2024-10-17 10:44:29

2016年3月29日JAVA学习笔记的相关文章

2016年1月5日 SSH学习笔记

1月5日 1.为什么有的配置的过滤器的类是org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter,有的配置的过滤器是org.apache.struts2.dispatcher.FileDispatcher? 因为,从struts-2.1.3以后,org.apache.struts2.dispatcher.FileDispatcher值被标注为过时.虽然仍然起作用,但是不建议使用. 2.为什么有的时候不用execu

2016年4月27日_JAVA学习笔记_JAVA中常见的API(一)String

1.String在JAVA中是一个单独的类,只不过是一种特殊的,专门用来表示字符串的类.之前接触到的创建方式很简单,就是跟C语言中创建变量一样, String aString = "This is a String."; //变量类型为String,变量名为aString,内容为"This is a String.". 在学习API时,接触到了一种特别的创建方式.因为String是一个类,那么就肯定可以用其构造器方法来创建相应的对象. String aString

2016年3月30日_JAVA学习笔记

1.今天早上起的还算早,8点半起的,明天争取更早吧. 2.今天把毕老师的视频面向对象的部分看完了,现在开心重新看JAVA核心技术-卷一,直接从第四章对象与类开始看起. 3.书中提到类之间有三种最常见的关系,依赖,聚合,继承. 依赖大概能理解,就是一个类使用了另外一个类的方法或者对象,继承就是父类与子类的关系.但是聚合一直搞不清楚,等有机会再弄清楚吧. 4.画了好大的篇幅来专门讲一个格林尼治时间类,搞不懂为什么,等有需要的时候再来学习吧. 5.跟毕老师的视频里提到的一样,对于类中创建的成员变量,不

2016年4月25日_JAVA学习笔记_Lock和Condition

1.在毕老师的视频里,首先介绍的是synchronized关键字作为同步,紧接着在多生产者和多消费者的例子当中就引出了Lock接口和Condition接口.而在书中是先介绍的Lock核Condition接口.我感觉Lock和Con接口比较复杂,相比于synchronized关键字来说需要做的事情太多,很繁琐,虽然功能可能强大很多,但是对于初学者来说先接触一个简单的关键字,从而学习到同步的概念是比较好的. 2.书中有一个简单的Lock接口例子 1 private Lock myLock = new

2016年3月27日_JAVA学习笔记

1.前一天晚上开通了博客,今天是第一天写博客,或者说是日记吧. 右手的骨折还没完全康复,也还不知道要多久.现在仍然是左手用鼠标,而且无名指明显也不会打字了.毕竟已经3个月没有怎么用过了,所以完全恢复应该还需要一段时间吧. 2.JAVA中存在有嵌套类的情况,所谓嵌套类就是在一个类中还存在着一个类,这个类以成员变量的形式存在.在毕老师的视频中介绍了几种内部类的调用方法. //外部.内部.方法为非静态, //外部.内部 n = new 外部().new 内部(); //n.show(); //外部和方

2016年4月2日_JAVA学习笔记_下午

1.一个重要的知识点:子类不能直接访问超类中的私有成员. 2.如果子类的构造器没有显式的调用超类的构造器,则将自动的调用超类默认的构造器(无参数).如果超类没有无参数构造器,并且子类构造器又没有调用超类的其他有参数构造器,那么将编译失败. 3.一个对象变量可以指示(引用)多种实际类型的现象被称为多态.在运行时能够自动选择调用哪个方法的现象称为动态绑定(调用的是实际引用对象的方法). 4.在一个包中直接运行对应的.class文件是不可行的.只能在包所在路径运行 java myBao.myClass

2016年4月2日_JAVA学习笔记_上午

1.昨天晚上忘记发布就直接关机了,算了.本就没写多少. 2.包这个小节还有类路径看书看的我一头雾水. 3.昨天看毕老师视频时讲到了类的四个权限等级,从封装性最好到最开放依次是,private,默认,protected,public. private:仅允许当前类进行访问: 默认:允许当前类和当前包进行访问: protected:允许当前类和当前包,以及其他包中的子类: public:允许所有人进行访问 4.在shell命令运行java时,需要注意类路径,如果当前目录下没有找到,会在classpa

2016年3月17日Android学习笔记

1.Java.io.ByteArrayOutputStream.writeTo()方法实例 java.io.ByteArrayOutputStream.writeTo(OutputStream out) 方法写入该字节数组输出流的内容到指定的输出流参数. 2.xiecheng的数据库都是用的Mysql,不用Oracle.不用SQLServer,因为SQLServer有漏洞,不安全. 3.4. 5.

2016年4月16日_JAVA学习笔记_第六章克隆

1.克隆也就是创建一个变量的拷贝,两者相互独立. person p = new person(); person p1 = p; //仅仅是重新创建另外一个变量,引用的是同一个东西 person p_clone = p.clone();//创建上一个变量的克隆,两者没有关系 2.