Java內部類

來源:互聯網
上載者:User

標籤:seq   構建   執行個體化   i++   main   string   object   oid   pre   

通過內部類實現Sequence
public class test {    private Object []obj;    private int next = 0 ;        test(int i){        obj = new Object[i];    }        public void addObject(Object j){        obj[next++] = j;    }        int getLength(){        return obj.length;    }    public class inerObject {        private int i=0;        public boolean end(){            return i==obj.length;        }        public Object current(){            if(i>=obj.length)                return null;            else                 return obj[i];        }        public Object next(){            if(obj.length==0||i>=obj.length){                System.out.print("i is : "+i+"    ");                return null;            }                            else {                System.out.print("i is : "+i+"    ");            }                return obj[++i];        }    }        public  static void main(String []args){        test t = new test(10);        for(int i=0;i<t.getLength();i++){            t.addObject(Integer.toString(i));        }        inerObject ir = t.new inerObject();        while(!ir.end()){            System.out.println(ir.next());        }    }}

在Main中構建 內部類時必須有一個 外部類的對象,否者不能執行個體化

         inerObject ir = t.new inerObject();
因為構建內部類對象時,需要一個指向其外部類對象的引用,如果編譯器訪問不到這個引用時就會報錯。(static除外)



Java內部類

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.