JAVA基础中几个不常用的部分

一、内部类

     内部类一般有以下几种:非静态成员内部类、局部内部类、静态成员内部类、匿名内部类。

     1、非静态成员内部类:

      public class Outer{

      int i ;

      .......

      class Inner{ // 非静态成员内部类

      }}

      该内部类可以访问外部类的所有成员,包括private成员;如果外部类和内部类定义的属性同名,可以通过“外部类名.this.属性名”的形式访问。

      该内部类实例化的途径有以下几种形式:

      (1)通过外部类的非静态方法实例化内部类。  如,Inner in = new Inner();

      (2)通过外部类的main方法实例化内部类。如Outer out = new Outer(); Outer.Inner in=out.new Inner();

即要通过外部类的引用实例化内部类对象;

       (3)在内部类通过this来表示内部类的实例。

      2、局部内部类

      public class Outer{

      private String name;

      .......

      public void display(){

        class Inner{

        //局部内部类}

      }}

      该内部类可以直接访问外部类的成员属性,在该内部类中如果要访问包含其方法的局部变量,则此变量必须是final的,由于该内部类中保存有外部类的引用outer.this,所以不能定义静态属性

      3、静态内部类

      public class Outer{

      int i ;

      .......

      static class Inner{ // 静态成员内部类

      static String name="LI";

      int age;

      .......

      }}

      这种内部类就相当于外部类,在其内部可申明静态或非静态成员。但静态内部类只能访问外部类的静态变量或方法。静态内部类可直接实例化:Outer.Inner in=new Outer.Inner();

    4、匿名内部类多用于Swing事件处理

二、泛型(Generics) 详见http://java.sun.com/j2se/1.5/pdf/generics-tutorial.pdf

三、Java Annotation(注解)

     java.lang包中定义了三个基本注解:

     1、@Override 重写父类方法

     2、@Dprecated 表示已过时方法或成员

     3、@SuppressWarnings 抑制编译器警告

     自定义注解: publci @interface MyAnnotation{

     String value() default "L";//定义一个属性

     } 

     注解的注解(meta-annotation):

    1、@Target 注解应用的目标 @Target(ElmeetType.Method) 

    2、@Retention 指示编译器如何对待自定义注解,有三种方式;

    (1)编译器处理完后,不保留注解到编译后的类文件RententionPolicy.SOURCE

     (2)将注解保留在编译后的类文件,但在运行时忽略RententionPolicy.CLASS

      (3)将注解保留在编译后的类文件,并在第一次加载类时读取RententionPolicy.RUNTIME

    3、@Documented  使用javadoc生产文档时是否忽略注解

    4、@Inherited 父类注解是否被子类注解所继承

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值