内部类、访问权限课堂笔记

来源:互联网 发布:oracle数据库接口 编辑:程序博客网 时间:2024/06/07 07:13

内部类的定义:一个类的定义放在另一个类的内部 内部类作为外部类的一个成员,依附于外部类而存在的

    *内部类是一个独立的类,生成独立的class文件,文件名格式为:外部类类名·$内部类名



 包名在世界范围内不重复  (域名在世界范围内不重复)

把实现相同功能的java文件放到一个目录里

Com.oracle.xxx.xxx

域名  项目名称  导包的时候写到具体的类

TRL+SHIFT+F  代码格式化

构造代码快 一般用于给类里的变量进行初始化的 该代码快早于构造方法执行

静态代码块》构造代码块》构造方法

 四种类型的内部类:成员内部类,方法内部类,匿名内部类,静态内部类

          1.成员内部类 :在一个包含类中定义的不使用静态修饰符的类型,与成员变量、方法同一个层次,可以访问包含类所有的成员,在包含类中创建成员内部类实例的语法 this.new innerclass();  在包含类外创建成员内部类实例的语法。(new Outerclass()).new Innerclass();  创建外围对象之前不可能创建内部类的对象。

           2.方法内部类:定义在 方法体中的类,方法内部类只能定义该内部类的方法内实例化,不可以在此方法外对其实例化。最少使用的内部类形式,如同本地变量的定义,不允许有访问修饰符。

         3.静态内部类:不能与包含类同名         创建静态内部类实例的语法:
                                                Outer.Inner inner = new Outer.Inner();

          4 匿名内部类 只用到类的一个实例 类在定义后马上用到

                 *匿名内部类不能有构造方法。
                 *匿名内部类不能定义任何静态成员、静态方法
                 *匿名内部类不能是public,protected,private,static
                 *只能创建匿名内部类的一个实例
                 *一个匿名内部类一定是在new的后面,用其隐含实现一个接口或实现一个类










异常        lang不用导包


Erro是处理运行环境方面的错误,这类异常主要和硬件有关系,通常程序不对这类异常进行处理

Exception用来表示程序活动导致的错误,异常处理机制是针对Exception类的

   *运行时异常RuntimeException

      1.不作处理

      2.使用try-catch-finally语句捕获异常

          Try{

             //被保护区间 第一行

             //用关键字try控制

             //将可能导致异常的代码放在这里

             //我们可以放置1到多行代码

             }

            catch(MyFirstError) {

             // 处理MyFirstError的代码.

             //MyFirstError的异常处理句柄

      }

        catch(MySecondError) {

         // MySecondError异常处理句柄

        }finally{

     //无论try块中有无异常,最后必须执行 的代码

       }

 

      3.通过throws子句声明异常(该异常我自己不去处理,如果谁调用这个方法,必须把这个异常处理掉) main方法再往上抛给jvm虚拟机

 

   *非运行时异常 必须进行处理

  一个未捕获的异常可能导致程序停止

 

常用异常

java.lang.ArithmeticException  算术异常

java.lang.NullPointerException   空指针异常

java.lang.ArrayIndexoutOfBoundsException  数组越界异常

java.lang.SecurityException   安全异常

Java.lang.NegativeArraySizeException   负值数组大小异常



0 0
原创粉丝点击