匿名类就是一个子类,由于无名可用,所以不能用匿名类声明对象,却可以直接使用匿名类创建对象。
Output.java
package NotNameClass;
abstract class Output {
public abstract void Out();
}
OutputEnglish.java
package NotNameClass;
public class OutputEnglish extends Output{
public void Out() {
for(char c=‘a’;c<=‘z’;c++)
{
System.out.printf("%3c", c);
}
}
}
ShowBoard.java
package NotNameClass;
public class ShowBoard {
void showMess(Output show) {
show.Out();
}
}
Example7_2.java
package NotNameClass;
import org.omg.CORBA.PUBLIC_MEMBER;
public class Example7_2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
ShowBoard a =new ShowBoard();
a.showMess(new OutputEnglish());
System.out.printf("\n");
//下面为匿名类的使用
a.showMess(new Output() //注意创建的对象为抽象类对象
{
public void Out()
{
for(char c=‘A’;c<=‘Z’;c++)
System.out.printf("%3c", c);
}
}
); //注意分号在这里
}
}