BlogJava 联系 聚合 管理  

Blog Stats

文章档案


yuan2006open

1  Wrapper class
   OverLoading 名相同,参数不同,返回类型不要求
    1. //public void println(double d){}
       //public void println(boolean b){}
       public void println(Object o){}
   2.  int num=3;
        double d=num;   
         
        Integer it=new Integer(3);              
        Double dd=it;      
        基本类型数据int可以向double自动扩展,但是包装类型之间
        不能自动的相互转换
2  基本类型数据------》包装类型转换   手动人工 (1.5之前)
        int i=3;
        Integer it=new Integer(i);   
        (JDK1.5之后,自动转换)
        int i=3;
        Integer it=i;         i=it;   
        1) Integer it3=null;
           int i3=it3;   
        2) Integer it4=100;
            Integer it5=100;
            System.out.println(it4.equals(it5));----->true
             System.out.println(it4==it5);----->  true
        
       int <--------> Integer <-------->  String      
   
 3 访问控制修饰符
      private         本类            方法,属性
      default         本包            类,方法,属性
      protected     本包+子类     方法,属性
      public           到处可见      类,方法,属性
   
 4  内部类:定义在其他代码块(类体或者方法体)里的类称为内部类  
                  编译后每一个内部类都会有自己的独立的字节码文件 ,
                  文件名Outer$Inner.class, 内部类也可以有父类和
                  实现接口,也可以是抽象的
     根据位置和修饰符的不同分为四种:
     1. member inner class  成员内部类  
     2. static inner class     静态内部类(嵌套内部类)
     3. local inner class       局部内部类   
     4. annonymous inner class   匿名内部类
          没有名字的类    
           
   static inner class   
     1. 定义的位置:类以内,方法之外,有静态修饰  
                           (static 可以修饰内部类)
     2. 本身能定义的属性和功能:所有的属性和功能,
                                                包括静态和非静态的
     3. 能直接访问什么:只能访问外部类的静态的属性和功能
     4. 怎么创建对象:  Outer.Inner in=new Outer.Inner();
      
  member inner class
     1. 定义的位置:类以内,方法之外,没有静态修饰
     2. 本身能定义的属性和功能:只能定义非静态的属性和功能
     3. 能直接访问什么:能访问外部类的所有的属性和功能
     4. 怎么创建对象:
          Outer.Inner in2=new Outer().new Inner();  
          在Outer里提供一个getInner(),返回内部类的对象
     
   local inner class
     1. 定义的位置:方法里面的类,前面不能用public or static修饰
     2. 本身能定义的属性和功能:只能定义非静态的属性和功能
     3. 能直接访问什么:能访问外部类的所有的属性和功能
                                  以及方法的用final修饰的局部变量
     4. 怎么创建对象:想当于局部变量,只能在方法里面创建对象
    
   annonymous inner class
     1. 是一个特殊的局部内部类,没有名字,没有构造方法,可以实现
        一个接口或者继承一个类,生命周期里只能产生一个对象
     2. 除了没有名字外,能定义的和能访问的都和普通的局部内部类
         一致
     3.当试图创建接口或者抽象类对象的时候,用匿名内部类
        表示类体的{}紧跟在构造方法之后,调用匿名内部类的方法
        只能用写类时创建的那个对象
      
  作用:
    1. 不破坏访问权限的情况下,可以使用外部类的私有成员变量
       和方法
    2. 将接口公开,把实现类作成内部类隐藏起来,要求使用
        者使用接口,强制降低偶合度     
    3.  Java 通过接口和内部类两种机制来实现多继承
         
posted on 2008-08-01 18:34 bai 阅读(41) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航: