_085_Java_innerClass

------------------------------------------

  • 内部类举例 (1)

      class A {
	private int s;
	public class B{
	  public void mb() {
		s = 100;     
		System.out.println("在内部类B中s=" + s);
	        
        }  
    }

	public void ma() {
		B i = new B();//内部类
		i.mb();
	}  }

       public class Test {	
	public static void main(String args[]){
	        A o = new A();
	        o.ma();
	}   } 
  •  内部类举例 (2)

public class A{
        private int s = 111;

        //内部类
        public class B {
	      private int s = 222;
	      public void mb(int s) {
	        System.out.println(s);              // 局部变量s
	        System.out.println(this.s);      // 内部类对象的属性s
	        System.out.println(A.this.s);   // 外层类对象属性s
	      }
       }
       public static void main(String args[]){
	      A a = new A();
	      A.B b = a.new B();
	      b.mb(333); 
        }
}
  •  内部类特性

 

  •  匿名内部类

 

interface  A{
	public  abstract void fun1();
}
public class Outer{
	public static void main(String[] args) {
		new Outer().callInner(new A(){
               //接口是不能new但此处比较特殊是子类对象实现接口,只不过没有为对象取名
			public void fun1() {
				System.out.println(“implement for fun1");
			}
		});// 两步写成一步了
	}
	public void callInner(A a) {
		a.fun1();
	}
}  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值