java内部类的方法(外部调用内部类的方法)

1.使用static可以声明一个内部类, 可以直接在外部调用
class Outer { // 定义外部类
private static String info = "hello world";
// 定义外部类的私有属性

static class Inner {
// 使用static定义内部类为外部类
public void print() { 
// 定义内部类的方法
System.out.println(info); 
// 直接访问外部类的私有属性
}
};

public void fun() { 
// 定义外部类的方法
new Inner().print(); 
// 通过内部类的实例化对象调用方法
}
};

   public class InnerClassDemo03 {
public static void main(String args[]) {
new Outer.Inner().print(); 
// 调用外部类的fun()方法
}
};
2.不使用statc声明一个内部类 ,使外部调用
class Outer { // 定义外部类
private String info = "hello world"; 
// 定义外部类的私有属性

class Inner { // 定义内部类
public void print() { 
// 定义内部类的方法
System.out.println(info); 
// 直接访问外部类的私有属性
}
};

public void fun() { 
// 定义外部类的方法
new Inner().print(); 
// 通过内部类的实例化对象调用方法
}
};

public class InnerClassDemo04 {
public static void main(String args[]) {
Outer out = new Outer(); 
// 外部类实例化对象
Outer.Inner in = out.new Inner(); 
// 实例化内部类对象
in.print(); // 调用内部类的方法
}
};
3.在方法中定义内部类 ,使外部调用
class Outer { // 定义外部类
private String info = "hello world";

// 定义外部类的私有属性
public void fun(final int temp) {
// 定义外部类的方法
class Inner {
// 在方法中定义的内部类
public void print() {
// 定义内部类的方法
System.out.println("类中的属性:" + info);
// 直接访问外部类的私有属性
System.out.println("方法中的参数:" + temp);
}
}
;
new Inner().print();
// 通过内部类的实例化对象调用方法
}
};

public class InnerClassDemo05 {
public static void main(String args[]) {
new Outer().fun(30); // 调用外部类的方法
}
};
posted @ 2017-06-13 22:19  Wishmeluck  阅读(7273)  评论(0编辑  收藏  举报