java内部类与外部类_Java内部类和外部类

本文详细解析了Java中内部类的创建、使用限制以及static内部类的独特性。重点讲解了如何区分内外部类的方法调用,并通过代码实例说明了非static内部类与static内部类的区别。同时,分享了恰饭广告的实践技巧。
摘要由CSDN通过智能技术生成

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

恰饭广告

外部类与内部类格式:

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修饰的内部类不能直接创建对象

}

}

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

支付宝 ——————- 微信

恰饭广告

b2fa10417bcbd2c397d3c42ce544672e.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值