java的内部类

package com;

public class demo5 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        animal a=new animal();
       animal.person p=a.getPerson();
       p.say();

    }

}
//内部类,只有在内部被实例化
class animal{
    
    public  void say(){
        System.out.println("this is animal.say");
    }
    
    //外部类的方法返回内部类的实例
    person getPerson()
    {
        //return new animal().new person(); 方法1
        return new person(); //方法2
    }
    class person{
        
        //内部类的方法返回外部类的实例
        animal animalSay()
        {
            
        //return    animal.this; //方法1
            return new animal(); //方法2
        }
        
        public  void say(){
            System.out.println("this is person.say");
        }
        
    }
}

 

posted @ 2017-08-10 13:55  甜菜波波  阅读(140)  评论(0编辑  收藏  举报