普通内部类

//贴点代码

public class InnerClass {
	/*
	 * 内部类的优点1:对外可以隐藏内部类的名称,体现了封装性
	 *        优点2:可以通过内部类实现多个接口,使代码更清晰
	 *        优点3:内部类可以访问外部类的变量,但是不可以修改
	 *  有四种内部类:1,普通内部类;2,静态内部类;3,局部内部类;4,匿名内部类
	 */
      //普通内部类
	int n=3;
	private class AA implements A{
            private int i=2;
		@Override
		public int value() {
			System.out.println(n*i);
			return i;
		}
		
	}
	protected class BB implements B {
        String bString;
        BB(String bString){
        	this.bString=bString;
        }
		@Override
		public String print() {
			System.out.print(bString);
			return bString;
		}
		
	}
	public A a(){
		return new AA();
	}
	public B b(String bString){
		return new BB(bString);
	}

public class Test {

	/**
	 * @param args
	 *
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		String bString="88888";
     InnerClass innerClass=new InnerClass();
     A aa=innerClass.a();
     aa.value();
     B bb=innerClass.b(bString);
     bb.print();
	}

}

public interface A {
     int   value();
}
public interface B {
   String print();
}

你可能感兴趣的:(内部类)