day11【内部类、注解】

11 篇文章 0 订阅
10 篇文章 0 订阅

day11【内部类、注解】

内部类

概述

1、什么是内部类?

将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类

2、为什么要声明内部类呢?

当一个事物的内部,还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,不在其他地方单独使用,那么整个内部的完整结构最好使用内部类。

而且内部类因为在外部类的里面,因此可以直接访问外部类的私有成员。

3、内部类都有哪些形式?

根据内部类声明的位置(如同变量的分类),我们可以分为:

(1)成员内部类:
  • 静态成员内部类
  • 非静态成员内部类
(2)局部内部类
  • 有名字的局部内部类
  • 匿名的内部类

静态内部类

语法格式:

【修饰符】 class 外部类{
    【其他修饰符】 static class 内部类{
    }
}

非静态成员内部类

语法格式:

【修饰符】 class 外部类{
    【修饰符】 class 内部类{
    }
}

局部内部类

语法格式:

【修饰符】 class 外部类{
    【修饰符】 返回值类型  方法名(【形参列表】){final/abstractclass 内部类{
    	}
    }    
}

匿名内部类

当我们在开发过程中,需要用到一个抽象类的子类的对象或一个接口的实现类的对象,而且只创建一个对象,而且逻辑代码也不复杂。那么我们原先怎么做的呢?

(1)编写类,继承这个父类或实现这个接口

(2)重写父类或父接口的方法

(3)创建这个子类或实现类的对象

小结:

/*内部类:
内部类的方法可以访问内部类的成员
内部类可以访问外部类的私有·成员‘
内部类可以访问外部类的成员
外部类:
外部类可以访问外部类的成员
外部类不能直接访问内部类

普通成员内部类类型必须是外部类 内部类
创建对象的时候需要先创建外部类对象把次啊能创建内部类对象。
使用外部类对象.new的方式创建内部类

静态内部类创建对象的时候 不需要创建外部类对象在创建内部类对象,可以直接创建内部类对象

匿名内部类是局部内部类的一种特殊形式
匿名内部类的作用是作为接口的实现类 所以需要实现接口中所有的方法
*/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值