Java常用类之内部类

特点:

1、编译后生成独立的字节码文件

2、内部类可以访问外部类的私有成员

3、为外部类提供必要的内部功能组件

一、成员内部类

依赖于外部类

与成员变量等平级

调用方法:

1、创建外部类对象(假设是outer)

2、创建内部类对象(假设是inner)

    Outer outer = new Outer();

    Inner inner = outer.new Inner();

简化版:

   Inner inner = new Outer(). new Inner();

注意:当成员内部类与外部类有重名属性时,优先访问成员内部类的属性

成员内部类中不能定义静态成员

要想调用外部类属性,则要写Outer. this. 属性

二、内部静态类

由static修饰,本身与外部类平级,不依赖于外部类。因此要调用外部类的属性,要先实例化(创建对象)

static只能修饰内部类,不能修饰外部类

步骤:

1、创建外部类对象

2、对象. 属性();

调用方法:

假设Outer,Inner

    Outer.Inner inner = new Outer. Inner();

Outer.Inner表示Inner在Outer内部

三、局部内部类

写在方法里的类

即:(结构)

方法

方法(四层套娃)

局部内部类和局部变量都不能用访问修饰符修饰,且局部内部类中不能有静态成员

调用方法:

想要调用,就要在原来的类中实例化局部内部类,接着直接调用外部类即可

想要调用第一层方法中的变量,必须由final修饰(因为局部变量不被final修饰方法使用后就会消失,不能调用)

四、匿名内部类

类似局部内部类,只不过没有类名

实际上是将类的定义与实例化的过程结合起来的省略写法,但只能有一个该类的对象

继承父类或接口

即:

接口名 对象名 = new 接口名(){

          继承来的方法

};

对象.方法();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值