版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!
恰饭广告
外部类与内部类格式:
class OuterClass{ //外部类
class InnerClass{ //内部类
}
}
注意事项:
1、内部类不能直接创建对象,必须依靠外部类存在,static修饰的内部类除外。
2、存在同名方法时,默认调用外部类的方法,隐藏内部类的方法。
3、static可以修饰内部类,外部类则不可以。
4、内部类可以调用外部类的变量和方法,即使是private修饰。
代码例子:
public class OuterClass{ //外部类
private int a=1;
private int b=2;
private void Cal(){
System.out.println("外部类");
System.out.println(a+b);
}
class InnerClass{ //内部类
int c=3;
int d=4;
void Cal(){ //与外部类同名的方法
System.out.println("内部类");
System.out.println(a+b);
System.out.println(c+d);
}
}
static class InnerStatic{
int e=5;
int f=6;
void Sum(){ //内部类自己的方法
System.out.println("static内部类");
System.out.println(e+f);
}
}
public static void main(String[] args){
OuterClass outer=new OuterClass(); //外部类创建对象
outer.Cal(); //默认调用外部类的方法
OuterClass.InnerClass inner=outer.new InnerClass(); //创建内部类对象
inner.Cal();
OuterClass.InnerClass innerTest=new OuterClass().new InnerClass(); //第二种内部类创建对象方式
InnerStatic staticInner=new InnerStatic(); //static修饰的内部类可以直接创建对象
staticInner.Sum();
//InnerClass innerErr=new InnerClass(); //报错,非static修饰的内部类不能直接创建对象
}
}
让我恰个饭吧.ヘ( ̄ω ̄ヘ)
支付宝 ——————- 微信
恰饭广告