<pre name="code" class="java">/*
内部类中的函数可以访问外部类的成员变量
*/
class Book
{
private int totalPage = 500;
class Page
{
private int currentPageNo = 108;
public void showPageNumAfterCurrentPage()
{
//访问外部类中的成员变量
System.out.println(totalPage - currentPageNo);
}
}
}
class Money
{
private static int totalMoney = 1000;
static class Coins
{
private String material = "gold";
private static int totalCoins = 100;
public void showTotalMoney()
{
System.out.println(totalMoney);
}
public static void showTotalCoins()
{
System.out.println(totalCoins);
}
}
}
class test
{
public static void main(String[] args)
{
//使用非静态内部类的非静态方法
Book.Page page = new Book().new Page();
page.showPageNumAfterCurrentPage();
//使用静态内部类的非静态方法
Money.Coins coins = new Money.Coins();
coins.showTotalMoney();
//使用静态内部类的静态方法
Money.Coins.showTotalCoins();
}
}
<pre name="code" class="java">//匿名类的使用
abstract class Planet
{
abstract public void showName();
}
class test
{
public static void main(String[] args)
{
//创建匿名类对象earth
Planet earth = new Planet()
{
public String planetName = "earth";
public void showName()
{
System.out.println(planetName);
}
};
earth.showName();
}
}