WEB开发网
开发学院手机开发Android 开发 Android应用开发之Java基础篇——内部类 阅读

Android应用开发之Java基础篇——内部类

 2010-10-14 06:19:00 来源:本站整理   
核心提示:很多Android应用开发大部分都是用Java语言来开发,对于大多数从C/C++转入Android开发的开发人员Java语言会成为一道坎,Android应用开发之Java基础篇——内部类,当然有了C/C++语言基础,对于Java语言的语法理解应该问题不大,外部调用Selector接口来访问Sequence对象,可以看出

很多Android应用开发大部分都是用Java语言来开发,对于大多数从C/C++转入Android开发的开发人员Java语言会成为一道坎。当然有了C/C++语言基础,对于Java语言的语法理解应该问题不大,但是对于一些关键点儿还是有点儿迷惑,Simon将会就Android应用比较多的 java知识点——内部类进行一个介绍。

首先我们看一个例子:

//: innerclasses/Sequence.java

//// Holds a sequence of Objects.

interface Selector {

boolean end();

Object current();

void next();

}

public class Sequence {

private Object[] items;

private int next = 0;

public Sequence(int size) { items = new Object[size]; }

public void add(Object x) {

if(next < items.length)

items[next++] = x;

}

private class SequenceSelector implements Selector {

private int i = 0;

public boolean end() { return i == items.length; }

public Object current() { return items[i]; }

public void next() { if(i < items.length) i++; }

}

public Selector selector() {

return new SequenceSelector();

}

public static void main(String[] args) {

Sequence sequence = new Sequence(10);

for(int i = 0; i < 10; i++)

sequence.add(Integer.toString(i));

Selector selector = sequence.selector();

while(!selector.end()) {

System.out.print(selector.current() + " ");

selector.next();

}

}

}

上面例子中暴露给用户一个接口Selector,然后在Sequence类中定义一个内部类SequenceSelector类继承Selector接口,这个内部类是私有的,外部将不能直接访问这个类。Sequence类定义一个公共方法,生成一个SequenceSelector对象,并把其向上转型成一个Selector接口。外部调用Selector接口来访问Sequence对象。

可以看出内部类的最大优势在于:通过内部类的向上转型,隐藏内部类的具体实现。

1 2  下一页

Tags:Android 应用开发 Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接