版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!
恰饭广告
外部类与内部类格式:
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修饰的内部类不能直接创建对象 } }
原文链接:https://www.idaobin.com/archives/545.html
让我恰个饭吧.ヘ( ̄ω ̄ヘ)
恰饭广告