java内部类的方法(外部调用内部类的方法)
1.使用static可以声明一个内部类,
可以直接在外部调用
public class InnerClassDemo03 {
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
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); // 调用外部类的方法
}
};