您的位置:首页 > 编程语言 > Java开发

java自学笔记之多态 内部类 异常处理

2013-10-28 13:30 323 查看
内部类:

内部类可直接访问外部类中的成员,包括私有; 原因:内部类中持有了一个外部类的引用 格式:外部类。this;

外部类要访问内部类,必须要简历内部类对象;



访问格式:

内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中直接简历内部类对象。

格式: 外部类。内部类名   变量名 = 外部类对象。内部类对象;  例: Outer . Inner   in = new Outer . new Inner();

内部类定义在成员位置上就可以被成员修饰符所修饰

private:将内部类在外部类中进行封装。

static:内部类就具备了static的特性。

当内部类被static修饰后,只能直接访问外部类中的static成员,出现了访问局限。

在外部其他类中,如何直接访问static内部类的非静态成员了?

new Outer.Inner()。function();

在外部其他类中,如何直接访问static内部来的静态成员了?

Outer.Inner。function();

注意:当内部类中定义了静态成员,该内部类必须是static的。

      当外部类中的静态方法访问内部类时,内部类也必须是静态的。

当描叙事物时,事物内部还有事物,该事物用内部类来描叙。因为内部事务在使用外部事物的内容。

内部类定义在局部时(void XX 方法里面)不可以被成员修饰符修饰 不可以直接访问他所在的局部中的变量,只能访问被final修饰的局部变量;

匿名内部类:

就是内部类的简写格式

定义匿名内部类的前提,内部类必须是继承一个类或者实现接口。

匿名内部类的格式: new 父类或接口(){定义子类的内容}

其实匿名类部类就是一个匿名子类对象,而且这个对象有点胖,可以理解为带内容的对象。

匿名内部类中定义的方法最好不要超过3个。





可以多态为匿名内起名

异常:就是程序在运行时出现不正常情况;

严重的,java通过Error类进行描叙;  一般不编写针对性的代码进行处理;

非严重,java通过Exception类进行描叙; 可以使用针对性的处理方式进行处理;

异常处理:

try{ 需要被检测的代码  }  catch()



多异常处理:

声明异常处理时,建议声明更为具体的异常,这样处理的可以更具体

对方声明几个异常,就对应用几个catch块,不要定义多余的catch如果多个catch块中的异常出现继承关系,父类异常catch块放在最下面;

建议在进行catch处理时,catch中一定要定义具体处理方式,不要简单的定义一句 e。printStackTrace()

自定义异常:

必须是自定义类继承Exception;原因:异常体系有一个特点,因为异常类和异常对象都需要抛出。他们都具备可抛型,这个可抛型是Throwable体系中的独有特点。

自定义异常时:如果该异常的发生,无法再继续进行运算,就让自定义异常继承RuntimeException、

对于异常分两种:

编译时被检测的异常。

编译时不被检测的异常

throws和throw的区别:

throws使用在函数上,throw使用在函数内;

throws后面跟的异常类,可以跟多个,用逗号隔开。throw后跟的是一场对象。

Exception中有一个特殊的子类异常RuntimeException运行时异常、不用函数声明一样能通过是因为不需要让调用者处理。

当该异常发生,希望程序停止,因为在运行时,出现了无法继续运算的情况,希望停止程序后,对代码进行修正。

自定义异常时,如果该异常的发生,无法再继续进行运算,就让自定义异常继承RuntimeException。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息