论坛首页 入门技术论坛

core java学习笔记(七)

浏览 1986 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-08-08  
OO

在主方法中:return; 和  System.exit(0);  等同


内部类: 在一个类的内部定义的类称为内部类。内部类是一种编译时的语法。
 编译时语法:内部类,访问权限,泛型

内部类存在的原因:在现实世界中有这样的需要。在内部类可以访问外部类的私有属性。内部类可以对同一个包中的其他类隐藏起来。
    所有使用内部类的地方都可以不用内部类,但使用内部类可以使程序更加的简洁,便于命名规范和划分层次结构

内部类的作用:1、内部类可以访问外部类的私有成员
       2、把标准公开,把标准的实现者作为内部类隐藏起来,强制要求使用者通过标准访问标准的实现者
       3、配合接口,实现多继承
   当父类和接口方法定义发生冲突的时候,就必须借助内部类来区分
内部类的分类:
       成员式:
        静态内部类:  

    在静态内部类中只能访问外部类的静态成员。构造静态内部类对象不再需要构造外部类对象

        成员内部类:
    必须要先构造外部类对象,再根据外部类对象构造内部类对象。
    生成成员内部类对象形式: OuterA out=new OuterA();
        OuterA.InnerB innb=out.new InnerB();
    一个外部类对象可以生成多个成员内部类对象,一个成员内部类对象一定是由某一个外部类对象生成的。
    成员内部类不能有静态属性

    内部类和外部类的实例变量可以共存。
    在内部类中访问实例变量:this.属性
    在内部类访问外部类的实例变量:外部类名.this.属性。

       局部式:
        局部内部类:定义在外部类的方法中。
    与局部变量类似,在局部内部类前不加修饰符public和private,其范围为定义它的代码块。

    局部内部类不仅可以访问外部类实例变量,还可以访问外部类的局部常量,但是要求外部类的局部变量是final的。
    实际上是为内部类添加了一个属性,这个属性就是外部类的final局部变量
    在类外不可直接访问局部内部类(保证局部内部类对外是不可见的)。
    在方法中才能调用其局部内部类。

        匿名内部类: 特殊的局部内部类,用来继承一个类或者实现一个接口,我们只需要这个局部内部类的一个对象。
      匿名内部类不能定义构造方法
      匿名内部类在编译的时候由系统自动起名Out$1.class。
      如果一个对象编译时的类型是接口,那么其运行的类型为实现这个接口的类。
      因为匿名内部类无构造方法,所以其使用范围非常的有限。
 


java.util.GregorianCalendar中的月份从0开始,周日是一周的第一天

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics