A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© luguoyuanf 中级黑马   /  2013-3-29 23:00  /  2247 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

         4.3.3Object
                    定义:
                    Object类是所有类的父类
                    equals,建立对象自己独特的比较方式,不在是比较对象地址值需要子类覆盖equals方法
                    equals==区别:
                    ==在基本数据类型中比较是具体的数值,在引用类中比较的是对象的地址值
                    equals方法比较的也是对象的地址值,覆盖equals方法建立自己独特比较方式
                    finalze:JVM自动调用对象的方法
                    toString默认返回地址值(建议重写)
         4.3.4内部类
                    定义:
                    在一个类内部定义类,这就是内部类,也叫嵌套类
                    特点:
                    内部类定义在外部类里面,对于内部类而言,可以直接使用外部类中的成员,私有也行.对于外部类,使用内部类成员,必须建立内部类对象
                    使用格式:
                    全静态使用格式:外部类名.内部类名.函数名();
                    非静态使用内部类格式:外部类.内部类名变量 = new 外部类名().内部类名();
                    内部类静态,内部类函数非静态使用格式:外部类名,内部类名变量 = new外部类名.内部类名();
                    使用场景:
                    3G,Android开发中常用
                    分析事物时发现里面还有具体的事物,使用内部类形式实现对事物的描述
                    局部内部变量(定义在外部类的方法内)
                    内部类前面的方法定义变量,内部类要调用这个变量必须在变量前面加final,因为方法中的变量是跟方法的加载而加载进内存,当执行完成后消失,class类则加载在方法的前面,所以运行会报错,final是随着类的加载进入方法区的静态区.
         4.3.4匿名内部类
                    定义:
                    继承一个类,或实现接口的没有名称的内部类.
                    格式:
        new 接口()
                    {
               覆写,接口中的抽象方法
                   }.接口中的方法;
                   接口 变量 = new 接口()
                    {
               覆写接口中的抽象方法
               覆写接口中的抽象方法
                    };
                   变量.函数();
                   变量.函数();
         4.3.5异常
                    异常的面向对象思想: java将异常都封装成对象
                    异常体系:
                            Exception:一些参数输入不正常导致,可以控制的.
                           Error: 当程序中,发生了很严重的问题,我们处理不了,只能修改代码
不能使用异常处理方式
                    异常的第一种处理方式:
                    try
                    {
                            //可能出现异常的代码
                    }
                    catch(异常类 变量)
                    {
                            //处理方式
                    }
                    打印异常的3中常用方式:
                    getMessage();       //提示信息很少
                    toString();                //提示信息不是很多
                    printStackTrace();  //提示信息很多,建议使用
                    异常的第二种处理方式:
                    throw: 用于函数内部手动抛出一个异常类的对象
                    throws: 函数的定义上标示出我这个函数,可能会出现异常,要求调用者需要处理我抛出的这个异常.调用者调用的抛异常的函数处理方式有2.一种是继续抛,一种是try(throws后面跟异常类名)
                    异常分为两种情形:
                    1) 编译时期:
                            是你调用了抛异常的方法后,你的调用者没有处理这个异常.
                    2) 运行时期:
                            编译成功,但是运行的时候出现的异常,运行时期异常的最高父类RuntimeException.函数中抛出RuntimeException或者是他的子类,这个时候函数中不需要声明,调用者也不需要处理.
                    RuntimeException应用场景:
                    对方无论什么原因传递了非法数据,这个非法数据造成后面的计算毫无意义是,抛出运行时异常.
         4.3.6自定义异常
                    定义: java中没有完全描述所有的异常,有的异常是java没有描述的,需要自定义.
                    注意:凡是异常类都具备可抛性,必须入伙(继承ExceptionRuntimeException)
                    常用异常介绍:
                    ArithmeticException:在算术运算中发生的异常,如除以零
                    NullPointerException:变量还没有指向一个对象,就引用这个对象的成员
                    ArrayIndexOutOfBoundsException:访问的数组对象中不存在的元素.
                    使用方法:
                    调用父类构造方法,传递异常信息
                    

1 个回复

倒序浏览
基础,学习,毕竟之路
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马