可以在类中的任何位置定义内部类,并在其中编写Java语句。有三种类型的内部类。 内部类的类型取决于位置和声明的方式。

  • 成员内部类

  • 局部内部类

  • 匿名内部类

成员内部类

成员内部类在类中声明的方式与声明成员字段或成员方法相同。它可以声明为publicprivateprotectedpackage-level。成员内部类的实例可以仅存在于其封闭类的实例内。

以下代码创建了一个成员内部类。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Car {
  private int year;
 
  // A member inner class named Tire public
  class Tire {
    private double radius;
    public Tire(double radius) {
      this.radius = radius;
    }
    public double getRadius() {
      return radius;
    }
  // Member inner class declaration ends here
 
  // A constructor for the Car class
  public Car(int year) {
    this.year = year;
  }
  public int getYear() {
    return year;
  }
}

局部内在类

一个局部内部类在块中声明。 其范围仅限于声明它的块。由于其范围限于其封闭块,因此其声明不能使用任何访问修饰符,例如publicprivateprotected
通常,在方法内定义局部内部类。 但是,它也可以在静态初始化器,非静态初始化器和构造器中定义。下面的代码显示了一个局部内部类的例子。

点击链接查看详细内容

最新文章

  1. kali python pip3 的安装和卸载
  2. Ubuntu 安裝 嘸蝦米 輸入法
  3. springMVC中文乱码问题
  4. D3.js 更自由的条形图
  5. DLX模型问题
  6. Android中直播视频技术探究之---采集摄像头Camera视频源数据进行推流(采用金山云SDK)
  7. mac 搭建git服务器
  8. HTML5 canvas生成图片马赛克特效插件
  9. MVC源码解析 - Http Pipeline 解析(下)
  10. 网络编程应用:基于UDP协议【实现文件下载】--练习
  11. 分布式文件系统及FastDFS
  12. [机器学习Lesson 2]代价函数之线性回归算法
  13. mpvue学习笔记(二)
  14. java去除数组重复元素的方法
  15. mysql 文件导入
  16. Git 配置命令设置
  17. ADO.Net创建数据模型和数据访问类及泛型集合
  18. Laravel框架中实现supervisor执行异步进程
  19. C++客户端通过gSOAP调用WebService
  20. centos 安装php扩展的两种方法

热门文章

  1. day 67 Django的view 与路由
  2. LeetCode:旋转数组
  3. kaggle-制作评分卡
  4. Percona XtraDB Cluster集群5.7 开启SSL认证
  5. python 波波版压缩软件
  6. Java并发AtomicIntegerArray类
  7. 爬虫-ajax请求遇到Unicode编码问题
  8. hdu3555 Bomb(数位dp)
  9. HTTP请求方式: GET和POST的比较
  10. opengl 库glew