java学习面向对象之异常之一】的更多相关文章

一.异常的概述: 什么是异常?在我们编写java程序的时候,会出现一些问题,比如内存溢出啊或者数组索引超出最大索引啊,这些编程当中出现的这些个问题就是异常.但是异常也分为可以处理的和不可以处理的.比如JVM虚拟机出现的异常就是不可以处理的.可以处理的异常就是指,在我们java程序当中的数组最大索引超出啊,这些问题我们是可以处理的.同时异常也分为Error和Exception.从字面意义上来理解的话,可以理解成错误和异常.Error指在JVM运行当中出现异常,程序自动退出.下面我们来写个例子看下什…
我们知道当我们处理异常的时候,一个是声明,另外一个是捕捉. 捕捉:异常处理的捕捉方式,这是可以对异常进行针对性处理的方式.具体格式是: try { //需要被检测的异常 } catch(异常类 变量)//类似于函数,变量用来接受发生异常的对象的(参数) { //处理异常的代码块 } finally { //一定会被执行的代码 } 那么什么时候用捕捉,什么时候用声明呢?有的是把异常暴露出去,有的是不暴露异常. 我定义合理的功能,功能没有问题,你胡乱传入参数出现的异常,这个时候我就得把异常信息返回给…
基础知识 分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果. 常见的分布式技术有:CORBA.DCOM和RMI. 其中,面向对象的远程方法调用(Remote Method Invocation,RMI)是Enterprise JavaBeans的支柱技术,是建立分布式Java应用程序的方便途径.RMI是Java的一组开发分布式应用程序的API,它使用Java语言接口定…
异常不同于错误,它是程序运行时产生的未知问题. 如果把程序比喻成一辆汽车,那么汽车开着开着突然前面出现了一个大石头挡住了路,这就叫异常. 那么出现了这个异常我们需要去处理,比如打电话给公路管理局,让它们搬走石头. 如果是汽车的发动机坏了,这叫错误. 即使程序本身没有问题,也会因为各种因素产生异常. java秉承面向对象的思想,将异常也以类和对象的形式存在. 一.异常类的结构 异常和错误都继承于Throwable, 在Exception和Error下面还有许多具体的子类,这个可以自行查阅文档. 这…
面向对象(下) [TOC] 包装类 通过包装类可以把8个基本类型的值包装成对象使用. 自动拆箱.自动装箱 把字符串类型值转换成基本类型的值: 包装类的 parseXxx(String s)静态方法 包装类的 valueOf(String s)静态方法 包装类还提供多个重载 valueOf 方法将 基本类型变量 转换成字符串. 包装类型变量 可以与基本类型变量 进行值比较. 系统把一个-128-127之间的整数自动装箱成Integer实例,并放入了一个名为cache的数组中缓存起来.如果以后把一个…
之前我们提到“匿名”这个字眼的时候,是在学习new对象的时候,创建匿名对象的时候用到的,之所以说是匿名,是因为直接创建对象,而没有把这个对象赋值给某个值,才称之为匿名. 匿名对象回顾: class NoObject { void method() { System.out.println("Hello NoNameObj"); } } class NoName { public static void main(String[] args) { new NoObject().metho…
什么是面向对象内部类呢?所谓的内部类,即从字面意义上来理解的话,就是把类放到类当中. 那么内部类都有什么特点呢? 1.内部类可以访问包裹他的类的成员. 2.如果包裹他的类想访问被其包裹的类的话就得实例化,才可以访问. 代码示例: class Outer { ; void show() { System.out.println("Outer Show method!!"); } void method() { Inner a = new Inner(); a.innerShow(); }…
如何理解多态,让我们举个例子来描述一下,因为单纯的说多态大家可能不理解: abstract class Animal { ; abstract void eat(); public void run() { System.out.println("I Run!"); } } class Dog extends Animal { public void eat() { System.out.println("I eat meat"); } public void lo…
上一节当中我们说道抽象类,抽象类当中的方法可以是抽象的也可以是非抽象的,那么当抽象类中所有方法都是抽象的时候,我们就可以把它重新定义为接口.代码示例: abstract class Animal { abstract void eat(); abstract void goToBed(); } 上述代码写成接口的形式为: interface Animals { public void eat(); public void goToBed(); } 在接口当中的方法,也只能是方法名称,没有方法体.…
在之前讲到java面向对象继承的时候,我们只讲到了两个比较重要的知识点,一个是父子类当中有同名的成员变量,这个时候,我们引入了super这个关键字来区分这两个同名成员变量,除此之外,我们还讲到了父子同名函数的覆盖,这父子同名函数必须是参数类型.个数相同,返回值也相同才可以,同时子类要覆盖后的成员方法的访问权限要大于等于父类当中的同名函数权限. 那么还有一个地方我们没有讲到,那就是父子当中的构造函数是怎样的? class Fu { Fu() { System.out.println("Fu chu…