Java基础笔记-异常总结,包

异常:是对问题的描述,将问题进行对象封装,

异常的体系:

Throwable:

  1.Error

  2.Exception

    1.RuntimeException

异常体系的特点:

异常体系中的所有类以及建立的对象都具备可抛性。
可以被throw和throws关键字所操作,只有异常体系具备这个特点。

throw和throws的用法区别:

throw定义在函数内,用于抛出异常对象。

throws定义在函数上,用于抛出异常类,可以抛出多个并用逗号隔开。

当函数内容有throw抛出异常对象,并未进行trycatch处理时,必须要在函数上throws声明,否则会编译失败。
RuntimeException除外,当函数内如果抛出的是RuntimeExcpetion异常,函数上可以不用声明。

异常处理语句:
try
{
   需要被检测的代码;
}
catch ()
{
   处理异常的代码;
}
finally
{
   一定会执行的代码;
}

finally:一定会被执行的代码,通常定义的是用于关闭资源的代码.

特殊情况:当在finally语句之前执行了System.exit(0); 语句时,finally语句不会被执行.

自定义异常:

定义类继承Exception或者RuntimeException

1.为了让自定义类具备可抛性。

2.让该类具备操作异常的共性方法。

当要定义自定义异常的信息时,可以使用父类已经定义好的功能.将异常信息传递给父类的构造函数。

class xxxException extends Exception

{

  xxxException(String message)

  {

    super(message);

  }

}

自定义异常:根据Java中的面向对象思想,将程序中出现的特有问题进行封装。

在子父类覆盖时:
 1.子类抛出的异常必须是父类的异常的子类或者子集。
 2.如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能trycatch处理而不能用throw/throws抛出。

  1 /*
  2 求圆,和长方形的面积
  3 */
  4 class NoValueException extends RuntimeException //Exception
  5 {
  6     //private String message;
  7         NoValueException(String message)
  8         {
  9                 super(message);
 10         }
 11 }
 12
 13 /*
 14 abstract class Shape
 15 {
 16      abstract void getArea();
 17 }
 18
 19 class rec extends Shape
 20 */
 21 //接口也是一种抽象方法
 22 interface Shape
 23 {
 24     void getArea();
 25 }
 26 class Rec implements Shape
 27 {
 28         private int len,wid;
 29         Rec(int len,int wid) //throws NoValueException
 30         {
 31             if(len<=0 ||wid<=0)
 32                     throw new NoValueException("len,wid的值非法");
 33             /*
 34                 {
 35                     System.out.println("len,wid值非法");
 36                 }
 37             */
 38
 39                     this.len = len;
 40                     this.wid = wid;
 41
 42         }
 43         public void getArea()
 44         {
 45             System.out.println("长方形的面积是:"+len*wid);
 46         }
 47 }
 48 class Circle implements Shape
 49 {
 50         private double radius;
 51         public static  final double PI = 3.14;
 52         Circle(double radius) throws NoValueException
 53         {
 54                 if(radius<=0)
 55                         throw new NoValueException("出现了非法值的情况");
 56
 57                 this.radius = radius;
 58         }
 59         public void getArea()
 60         {
 61                 System.out.println("圆的面积是:"+radius*radius*PI);
 62         }
 63
 64 }
 65
 66 class ExceptionTest2
 67 {
 68     public static void main(String args[])
 69     {
 70         /*
 71         //继承的是Exception时.
 72                 try
 73                 {
 74                         Rec r = new Rec(-3,4);
 75                         r.getArea();
 76                 }
 77                         catch(NoValueException e)
 78                 {
 79                         System.out.println(e.toString());
 80                 }
 81         */
 82         //继承的是RuntimeException时,可以不需要进行try操作.出现异常程序会停止.
 83                 Rec r = new Rec(3,4);
 84                 r.getArea();
 85
 86
 87                 try
 88                 {
 89                         Circle c = new Circle(-3);
 90                         c.getArea();
 91                 }
 92                 catch(NoValueException e)
 93                 {
 94                         System.out.println(e.toString());
 95                 }
 96
 97
 98
 99
100     }
101
102 }

包:package

作用:让源文件与类文件相分离.

格式:

package 包名; //该定义语句要定义在代码的第一行.(最上方)

有了包名以后,类名的全称就是: 包名.类名 (该类要在包上)

当包中的类相互继承以后,可以访问被protected修饰的属性和方法.包与包之间可以使用的权限有两种:public和protected

四种权限之间能否能访问如下所示:

        public    protected    default(默认权限)    private

同一个类中    Ok      Ok        Ok          Ok

同一个包中    Ok      Ok        Ok          No

子类       Ok      Ok        No          No

不同包中       Ok      No        No          No

注意: 在一个java文件中,不能有两个或者两个以上的公有类或者接口.

导入:import关键字.

作用,用于简化类名的书写.当import以后, 类名可以直接简写,不在需要 包名.类名 的形式书写了.

面向对象好像终于学完了,好多还是不是很懂,不过时间不等人,只能边自学后面的边继续看面向对象的有关知识了.

时间: 2024-10-12 08:21:41

Java基础笔记-异常总结,包的相关文章

Java基础笔记-异常

Java中的异常机制: Throwable类是 Java 语言中所有错误或异常的超类.主要包括两个子类: Error和Exception. 一般中要处理的异常是Exception. Java中最常见的处理方式是try catch finally.格式为: try { 需要被检测的异常. } catch(异常类 变量) { 处理异常的代码()处理方式 } finally { 一定会被执行的代码语句 } 一个简单的异常处理代码及有关函数的应用: 1 /* 2 异常:Exception. 3 处理异常

Java基础笔记 – Annotation注解的介绍和使用 自定义注解

Java基础笔记 – Annotation注解的介绍和使用 自定义注解 本文由arthinking发表于5年前 | Java基础 | 评论数 7 |  被围观 25,969 views+ 1.Annotation的工作原理:2.@Override注解:3.@Deprecated注解:4.@SuppressWarnings注解:5.自定义注解:5.1.添加变量:5.2.添加默认值:5.3.多变量使用枚举:5.4.数组变量:6.设置注解的作用范围:6.1.在自定义注解中的使用例子:7.使用反射读取R

[Java基础笔记]数组

Java基础笔记 定义数组: int[] numbers = new int[100]; //方法一 double[] num = new double[10]; int[][] a = new int[2][5]; 通过new创建的数组,元素默认值为0(0.0) int[] scores = {5,4,33,12,46}; //方法二 int[][] a = { //位数不足,自动补0 {5,3,2,1,6}, {10,12,14,15}, }; 数组特性:存储的都是同类型数据:长度定义后不可

java 基础笔记 基本数据类型对象包装类

基本数据类型对象包装类: 为了方便操作基本数据类型值,将其封装成了对象,在对象中定义了属性和行为丰富了该数据的操作. 用于描述该对象的类就称为基本数据类型对象包装类. 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char   Character boolean Boolean 该包装对象主要用于基本类型和字符串之间的转换. 基本类型-->字符串 1.基本类型数据+"&quo

【转】Java基础笔记 – 枚举类型的使用介绍和静态导入--不错

原文网址:http://www.itzhai.com/java-based-notes-introduction-and-use-of-an-enumeration-type-static-import.html#1.2.values方法的使用: Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由arthinking发表于4年前 | Java基础 | 暂无评论 |  被围观 8,332 views+ 1.枚举(Enum):1.1.枚举类型中的两个静态方法:1.2.values方法的使用:

【Java基础】异常的简单分类与处理

Java中所有的异常都继承自Throwable类,Throwable类的已知子类有Error和Exception. Error是指系统出现的错误,这种错误出现的时候,我们的程序无能为力,所以不需要进行处理. Exception则是在程序中出现的异常,我们通常对这些异常进行处理. Exception有很多的子类,有一类比较特殊,那就是RuntimeException.RuntimeException属于非受检异常,也就是编译器不会对这种异常进行检查,这类异常被允许不用捕捉,也就是不用catch.我

Java基础笔记(2) 程序入口 关键字 标识符 常量 变量

提醒:关于那些和我一样新鸟来看资料的,能看懂多少看多少,看不懂的就是不重要,重要的你想我自己学习肯定要标注的,这些信息明白每个知识点实际作用就好了,其他的比如等会讲的常量内存,常量池这些都是我找的资料,有的自己都还不是太清楚,只是为了明白有这回事,没有那个新手教程一上来就讲这些,我拿低工资的怎么能去给搞研究的操心! 程序的编译与执行: 1.程序入口,在每一种编编程中,都会有一个main作为程序入口,JAVA的main写法如下: public static void main(String){}

黑马程序员----java基础笔记中(毕向东)

<p>------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! -------</p><p> </p><p>笔记一共记录了毕向东的java基础的25天课程,分上.中.下</p><p>本片为中篇,涵盖11-20天课程</p&

【java基础之异常】死了都要try

目录 1.异常 1.1 异常概念 1.2 异常体系 1.3 异常分类 1.4 异常的产生过程解析 2. 异常的处理 2.1 抛出异常throw 2.2 Objects非空判断 2.3 声明异常throws 2.4 捕获异常try…catch 2.4 finally 代码块 2.5 finally 代码块与return语句 2.6 异常注意事项 3.自定义异常 3.1 概述 3.2 自定义异常练习 4.来!和异常大干一场 @ 1.异常 1.1 异常概念 异常 :简单说就是不正常运行,最终导致JVM