1.测试内部类
注意:若想调用内部类方法在创建内部类对象是需要在new前加上创建的外部类名称+ . 来实现创建内部类对象。
//外部类Outer
public class Outer{
// 内部类Inner,类Inner在类Outer的内部
public class Inner{
// 内部类的方法
public void show(){
System.out.println("*** I love you");
}
}
public static void main(String[] args){
// 创建外部类对象
Outer o = new Outer();
// 创建内部类对象
Inner i = o.new Inner();
// 调用内部类对象的方法
i.show();
}
}
运行截图:
2.测试静态类和静态内部类
分析: 在外部类中创建一个类并用static来修饰这个类,及若想在内部类定义的方法中得到内部类定义的变量时需要在变量前加上外部类名称+ . 再加上变量名的形式来获取变量。
代码示例:
//外部类
public class SOuter {
// 外部类中的静态变量score
private static int score = 84;
// 创建静态内部类
public static class SInner {
// 内部类中的变量score
int score = 91;
public void show() {
System.out.println("访问外部类中的score:" + SOuter.score );
System.out.println("访问内部类中的score:" + score);
}
}
// 测试静态内部类
public static void main(String[] args) {
// 直接创建内部类的对象
SInner si = new SInner();
// 调用show方法
si.show();
}
}
3.用外部类的对象去调用内部类的方法
//外部类
public class SOuterMethod {
private String name = "*** 我爱你";
// 外部类中的show方法
public void show() {
// 定义方法内部类
class MInner {
int num = 2990;
public int getScore() {
return num + 10;
}
}
// 创建方法内部类的对象
MInner mi = new MInner();
// 调用内部类的方法
int newNum = mi.getScore();
System.out.println( name + ":爱你" + newNum+ "遍");
}
// 测试方法内部类
public static void main(String[] args) {
// 创建外部类的对象
SOuterMethod sm = new SOuterMethod();
// 调用外部类的方法
sm.show();
}
}