Java内部类和外部类

版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!


恰饭广告




外部类与内部类格式:

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

让我恰个饭吧.ヘ( ̄ω ̄ヘ)

支付宝 ——————- 微信
图片加载中图片加载中



恰饭广告

发表评论

电子邮件地址不会被公开。 必填项已用*标注

7 + 1 =