黑马程序员——Java基础——内部类

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

内部类
分类
1.成员内部类
class Out{
	class Inner{
		
	}
}

2.静态嵌套类
class Outer{
	
	static class Inner{
		
	}
}


3.方法内部类
class Outer{
	
	public void method(){
		class Inner{
			
		}
	}
}


4.匿名内部类(必须继承或者实现接口)
1) 继承
class Fu{
	
}

class Outer{
	
	public void method(){
		new Fu(){
			
		};
	}

}
2) 接口
interface test{
	
}

class Outer{
	
	public void method(){
		new test(){
			
		};
	}

}

内部类,外部类访问

1.      内部类可以直接访问外部类成员

2.      外部类要访问内部类必须建立内部类对象

3.      访问内部类对象Outer.Inner in = new Outer().new Inner();

4.      内部类可以私有.其他类不可以

5.      内部类可以被static修饰,内部类就具备了静态特性

6.      当内部类定义成静态的内部类必须全是static

7.      外部类的静态方法访问内部类,内部类必须静态

8.      内部类可以定义在外部类的方法里,但是不能被static private修饰

9.      内部类定义在局部时.可以直接访问外部类的成员,但是不可访问他所在的局部的变量.只能访问final修饰的

匿名内部类

匿内部类必须继承一个类或者实现一个结构

new 父类/接口{ }.方法

必须在方法里面


内部类访问外部类的各个资源
<span style="font-size:12px;">class Outer{
	
	int num = 1;
	
	class Inner{
		int num = 2;
		
		public void show(){
			int num = 3;
			System.out.println(num);//自身num
			System.out.println(this.num);//内部类
			System.out.println(Outer.this.num);//外部类
		}
	}

}

public class Main{
	public static void main(String[] args) {
		Outer.Inner in = new Outer().new Inner();
		in.show();
	}
}</span>



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