黑马程序员——内部类和异常的学习日记

来源:互联网 发布:戒色吧为什么不封 知乎 编辑:程序博客网 时间:2024/06/06 01:47
---------------------- android培训、java培训、期待与您交流! ---------------------
 

 

 

1:  内部类:局部静态不能修饰内部类内部类定义在局部时,不可以被成员修饰,可以访问外部类中的成员,但是不可以访问它所在的局部中的变量。

       匿名内部类(1):就是内部类的简写
                    ( 2):定义匿名内部类的前提必须是继承一个类或接口。
                    ( 3):匿名内部类的格式:new 父类或接口(){定义子类的内容}
                     (4);匿名内部类就是一个匿名子类对象。。。。、、//子类 这个对象有点胖可以一理解为带内容的对象
                     (5):匿名内部类中定义的方法最好不超过三个
2:内部类的访问规则

                  (1):内部类可以访问外部类的成员,包括私有。
                  ( 2):外部类要访问内部类,需建立对象。
                    (3):之所以 可以直接我、访问外部类中的成员,因为内部类持有外部类的一个引用】格式是:::外部类名。this外部类名。

                 内部类名  变量名 = new  外部类内 部   类。;格式
                                Outer。inner in = new.Outer().new Inner();
b:当内部类在成员位置上时。就可以被成员修饰符修饰
如:private  将内部类在外部类中封装。
    static   当内部类被静态修饰 只能访问外部类的静态成员。
 Outer。Inner。function();都是静态的话 直接用类名访问。
 注意:::::当内部类定义了静态成员,,该内部类必须是static的。
    c:当外部类中的静态方法访问内部类时,内部类也必须是静态的。当描述事物时,事物的内部还有事物,该事物有内部类来描述。
因为内部事物在使用外部事物的内容。对外提供方法,建立对象 访问。

异常:

异常是什么?
对问题的描述,将问题进行对象的封装。
-----------------------------
异常体系:
   Throwabl
          1——Error
    1--Exception
         1--RuntimeException
异常体系的特点:异常体系被中的所有类以及建立的对象具备可抛行。
                 也就是说可以被throw和throws关键字操作
     只有异常体系具备这个特点。

throw和throws的用法
  throw定义在函数内:抛出异常对象
  throws地以在函数上:抛出类 可多个。


  当throw抛出异常对象,么有try处理,必须在函数上声明,
   注意:如果是RuntimeException除外,函数如果抛出RuntimeException异常
   函数上可以不声明。
   如果函数声明了异常,调用者需要进行处理。处理方式,可抛 可try。


   1:编译时
   被检测异常::::该异常在编译时,没有处理(抛 ,try)编译失败
   2:运行时异常编不检测译时
              在编译时 ,不需要处理,编译器不检查,
     该异常发生,建议不处理,停止程序,修正代码。


---------------------------------------
异常处理的语句:
try
{
 需要被检测的代码
}
catch()
{
   处理异常的代码
}
finally
{

  一定会执行的代码
}
---------------------------------------
三种结合格式:
1:try catch
2; try finally
3; try catch finall

注意:finally中定义的
通常是关闭资源代码,因为资源必须关闭。、
2:、fSystem.exit(0)系统退出finally无法
访问
 
--------------------------------------------

 自定义异常:
 定义类继承Exception  或者RuntimeException
 1:为了让该自定义类具备可抛行
 2:让该类具备操作异常的共性方法。
 当定义自定义异常信息时,可以使用父类已经定义好的功能。
 将异常信息传递给父类的构造函数。

class MyException extends Exception
{
   MyException(String message)
   {
  
   super(message);  
   }

 

}
自定义异常:按照java的面向对象思想,将问题进行封装。。。

-------------------------
异常的好处:
1:将问题进行封装
2:将正常流程代码和问题处理代码相分离,方便阅读。


异常处理原则:

1:处理方法 try和抛

2:
抛几个 方式,处理几个
一个try对应多个catch
3:多个catch,父类的catch放最下面
4catch内,,需要定义针对性的处理不要简单定义:printStacktrace 输出语句。
也不要不写。
当铺货的不能处理 时  可以继续 抛出

 

try
{
throw new AEexception();

 

}
catch(AException e)
throw e;

如果该异常处理不了,但并不属于该功能出现的异常
可以将异常转换后,再抛出和该功能相关的异常

 

或者异常可以处理,当需要将异常产生和本

功能相关的问题提供出去,
让调用者知道并处理,也可将捕获的异常处理后,转换新的异常,。

try
{


}
catch(AException e)
{
    //对AException处理。
 throw new BException();
}

 

比如汇款的例子

 


---------------------------
异常的注意事项,。。
在子父类覆盖时,
1:子类抛出的异常必须是父类的异常,或者子集。
2:如果父类或接口没有异常,子类覆盖出现异常,只能try不能throw
*/

 

class  ExceptionTest2
{
 public static void main(String[] args)
 {
  System.out.println("Hello World!");
 }
}

 

---------------------- android培训、java培训、期待与您交流! ---------------------- 详细请查看:http://edu.csdn.net/heima


 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 喉咙痛有来医生感冒喉咙痛怎么办 暴马丁香叶子卷怎么办 房产权40年以后怎么办 面试回答不了考官的问题怎么办 轻伤事故对方要钱太多我怎么办 退休后有房子住公积金怎么办 江苏副高评过不聘怎么办 抗环瓜氨酸肽抗体高怎么办 脚被磨破了好痛怎么办 脚磨破皮肿了怎么办 脚磨破皮发炎了怎么办 3个月婴儿流口水怎么办 beats耳机被偷了怎么办 beats X耳机丢了怎么办 头戴耳机戴着热怎么办 长时间戴耳机耳朵疼怎么办 手表秒针走得声音很大怎么办 顾客总找老板剪头发怎么办 马来西亚国籍想去中国怎么办 有限元学位课挂了怎么办 五百丁简历导出后不一样怎么办 面试早到了1小时怎么办 头顶头发会越来越少怎么办 vr游戏过后想吐怎么办 win10电脑不能打汉字怎么办 手机看vr特别烫怎么办 苹果手机浏览器横屏怎么办 苹果笔记本浏览器没有了怎么办 剑与家园魔镜带错兵怎么办 橙子vr上下反了怎么办 我的恐龙手机不支持ar怎么办 被小人陷害又无计可施怎么办 蚂蚁借呗2万逾期怎么办 蚂蚁借呗还款金额受限怎么办 蚂蚁借呗不能借钱了怎么办 美柚手机号换了怎么办 美柚他他圈被禁言了怎么办? 被蝎子蜇了屁股怎么办 被蝎子蛰了该怎么办 孕妇让蝎子蛰了怎么办 脸被蝎子蛰了怎么办