[转]内部类的方法(外部调用内部类的方法)


1.使用static可以声明一个内部类, 可以直接在外部调用

 1 class Outer{                            // 定义外部类
 2     private static String info = "hello world" ;        // 定义外部类的私有属性
 3     static class Inner{                      // 使用static定义内部类为外部类
 4         public void print(){                        // 定义内部类的方法
 5             System.out.println(info) ;              // 直接访问外部类的私有属性
 6         }
 7     };
 8     public void fun(){                              // 定义外部类的方法
 9         new Inner().print() ;                    // 通过内部类的实例化对象调用方法
10     }
11 }
12 public class InnerClassDemo03{
13     public static void main(String args[]){
14         new Outer.Inner().print() ;                    // 调用外部类的fun()方法
15     }
16 }

 

2.通过内部类实例化 ,使外部调用

 1 class Outer{        // 定义外部类
 2     private String info = "hello world" ;    // 定义外部类的私有属性
 3     class Inner{    // 定义内部类
 4         public void print(){                // 定义内部类的方法
 5             System.out.println(info) ;        // 直接访问外部类的私有属性
 6         }
 7     }
 8 }
9 public class InnerClassDemo04{ 10 public static void main(String args[]){ 11 Outer out = new Outer() ; // 外部类实例化对象 12 Outer.Inner in = out.new Inner() ; // 实例化内部类对象 13 in.print() ; // 调用内部类的方法 14 } 15 }

 

3.在方法中定义内部类 ,使外部调用

 1 class Outer{        // 定义外部类
 2     private String info = "hello world" ;    // 定义外部类的私有属性
 3     public void fun(final int temp){        // 定义外部类的方法
 4         class Inner{                        // 在方法中定义的内部类
 5             public void print(){                // 定义内部类的方法
 6                 System.out.println("类中的属性:" + info) ;        // 直接访问外部类的私有属性
 7                 System.out.println("方法中的参数:" + temp) ;
 8             }
 9         }
10         new Inner().print() ;                // 通过内部类的实例化对象调用方法
11     }
12 }
13 public class InnerClassDemo05{
14     public static void main(String args[]){
15         new Outer().fun(30) ;    // 调用外部类的方法
16     }
17 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM