一.让一个类对同一个包中其它类隐藏可以使用内部类
在一个类中定义的类称为内部类
二.内部类种类:
1.成员内部类:在外部类中定义的类
public class Fire {
class War{
public void attack() {
System.out.println("进攻");
}
}
public static void main(String[] args) {
Fire fire =new Fire();
War war=fire.new War();
war.attack();
}}
2.静态内部类:在外部类中定义的静态类(用static修饰)
可以定义静态常量
创建静态内部类对象不需要外部类
public class Fire {
static class War{
public void fly() {
System.out.println("战机");
}
}
public static void main(String[] args) {
War war =new War();
war.fly();
}}
3.局部内部类:定义在方法中的内部类
A.作用域仅限于此方法
B.可以访问外部类所有成员
public class Fire {
public static void main(String[] args) {
class War {
public void fly() {
System.err.println("战机");
}
}
War war =new War();
war.fly();
}}
4.匿名内部类:定义在外部类方法的内部的用对象名代替类名的内部类
public class FireFu {
public void fire() {
System.out.println("开火");
}
}
public class FireZi extends FireFu{
public static void main(String[] args) {
FireFu fu=new FireFu() {
public void fire () {
System.out.println("步枪开火");
}
};
fu.fire();
}
}