zoukankan      html  css  js  c++  java
  • java内部类 2016年12月13号

    1、在外部类的任意位置创建内部类对象的方法:

      1)从外部类的非静态方法之外的任意位置创建某个内部类的对象,必须指明这个对象所在的外部类和内部类:OuterClassName.InnerClassName。如:

    package cn.qdu.parcel;
    /**
     * 内部类的第一个例子
     * @author cena 2016/12/13 at BoZhi
     *
     */
    public class Parcel {//外部类
        class Contents{//内部类
            private int i=11;
            public int value(){
                return i;
            }
        }
        
        class Destination{//内部类
            private String label;
            Destination(String whereTo){
                label=whereTo;
            }
            String readLabel(){return label;}
        }
        //下面是外部类中定义的3个方法
        public Destination to(String s){
            return new Destination(s);
        }
        
        public Contents contents(){
            return new Contents();
        }
        
        public void ship(String dest){
            Contents c=contents();
            Destination d=to(dest);
            System.out.println(d.readLabel());
        }
        
        public static void main(String[] args) {
            Parcel p=new Parcel();
            p.ship("Tasmaina");
            Parcel q=new Parcel();
            //在外部类的非静态方法之外的任意位置创建某个内部类的对象,必须具体地指明这个对象的类型:OuterClassName.InnerClassName。
            Parcel.Contents c=q.contents();//定义内部类对象的方法
            Parcel.Destination d=q.to("Borneo");
        }
    }

     

       2)外部类的static方法建立内部类问题。如:

    class Outer{//外部类
      class Inner{//内部类
    
      }
    
      public static method(){
        Outer out=new Outer();//要先创建外部类的对象
        Inner in=out.new Inner();
      }
    }

      method()方法属于外部类的静态方法,内部类Inner相当于外部类的一个非静态方法Inner(){},创建内部类对象时需要先创建外部类对象out,用外部类Outer的out对象之后才能去定义Inner对象,这个道理就如同在静态方法中不能直接调用非静态方法一样。

     

  • 相关阅读:
    使用jackson解析JSON数据
    ANT配置
    Android Webview 与JS交互
    使用ANT将Android打包成Jar包
    单例模式
    工厂模式
    nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决
    项目开发中的文档管理结构模板
    高并发的成熟解决方案
    Yaf(Yet Another Framework)用户手册 yii框架手册
  • 原文地址:https://www.cnblogs.com/qducn/p/6171073.html
Copyright © 2011-2022 走看看