一.内部类
1.1 内部类概述
将一个类A定义在另一个类B里面,里面的那个类A就称为内部 类,B则称为外部类。
内部类分为(4种):
- 成员内部类
- 静态内部类
- 方法内部类
- 匿名内部类
今天我们来学习成员内部类和匿名内部类。
1.2 成员内部类
成员内部类 :定义在类中方法外的类。
1.3 成员内部类访问特点
- 在其他类中,需要创建成员内部类对象来访问内部类成员
外部类名 . 内部类名 对象名 = new 外部类型() . new 内部类型 () ;
- 在外部类中访问成员内部类的成员,需要创建成员内部类对象
- 在成员内部类中可以直接访问外部类的一切成员(包含私有的)
// 在其他类中,需要创建成员内部类对象来访问内部类成员
// 在外部类中访问成员内部类的成员,需要创建成员内部类对象
二.匿名内部类
2.1 匿名内部类概述
匿名内部类 :是内部类的简化写法。它的本质是一个带具体 实现的父类或者父接口的匿名的子类对象。
new 类名 / 接口名 () {
方法重写
} ;
2.2 匿名内部类作用
匿名内部类的作用: 为了简化代码,并没有什么特殊的功能
让我们来做个题吧
需求 : 调用Aniaml类的eat()方法
- 创建一个子类继承Animal类
- 在子类中重写eat方法
- 创建子类对象
- 使用子类对象调用eat方法
代码实现:
(父类)
(创建子类并重写父类的方法)
(在测试类当中调用调用Aniaml类的eat()方法)
三.数据类型
在Java中的数据类型包括基本数据类型和引用数据类型两种
- 基本数据类型
注意事项:
- 定义long类型的时候,需要在整数后面加上L或者l(大小写的L,建议大写)因为整数默认的是int类型,数值有的时候太大,超出了int的范围值
- 定义float类型的时候,需要在小数后面加上F或者f(大小写的F,建议大写)因为小数默认的是double类型,double类型的数值大于float类型
- 引用数据类型
引用数据类型就是我们经常编写的 类 接口 数组 ........