DAY13-JAVA的类别(7)-内部类别

内部类别
如果在A类别里面再定义一个B类别,这种结构称为巢状类别(nested classes),此时的类别A称为外部类别(outer class),而类别B则称为内部类别(inner class)。

内部类别也可以分为public和private,当宣告成public和private时,其存取的限制与资料成员或函数成员相同。

修饰子 class 外部类别的名称{
//外部类别的成员
修饰子 class 内部类别名称{
//内部类别的成员
}
}

当程序中有使用到内部类别时,JAVA会使用「$」区分该内部类别是属於哪一个外部类别。

外部类别名称 $ 内部类别名称

在外部类别的建构元里建立内部类别的物件
(1)在外部类别的建构元里建立内部类别的物件
(2)在main()里建立一个外部类别的物件

匿名内部类别
匿名内部类别(anonymous inner class)可以方便利用内部类别建立不具名称的物件,并利用他存取类别里的成员。

(
new 类别名称(引数){
传回值型态 函数名称(引数1,引数2,...,引数n){
函数叙述;
}
}
).函数名称(引数1,引数2,...,引数n);

建立匿名内部类别的用意,主要是直接用new建立类别,并捕捉内部类别里没有定义到的函数,且有效的简化程序码。

当程序中有使用匿名内部类别时,JAVA会用"$"再加上数字编号,用以区分该内部类别是属於哪一个外部类别。

外部类别名称 $ 数字编号

菜鸟工程师的体脂肪

菜鸟工程师也有分享食记,欢迎大家追踪喔~~
https://instagram.com/engineer_bodyfat?utm_medium=copy_link

明天就可以进入继承啦啦啦啦啦啦~~~
See you tomorrow:))


<<:  Consistency and Consensus (2-1) - Linearizability

>>:  第一天 参赛宣言

Day8 - 程序设计报价 (三) - 常见问题

上一篇文章中介绍的报价方法,在我这一年多来的实验结果,碰过很多无法接受或是仍旧希望要有报价单、合约书...

Day 17:Layout Using Grid

介绍了 juce::Rectangle 以及 juce::FlexBox 这两个拉版工具後,这篇介绍...

更详细的 Docker 操作方法

到目前为止,介绍了许多操作 Docker 的方法,现在来了解更详细的操作方法。 说穿了,其实还是下指...

day7 : logging集中(上)

昨天让kubernetes上的各项监控数据顺利的统一到grafana上,今天就来把服务的log统一集...

[D09] OpenCV 应用范围

我们现在已经知道 OpenCV 可以拿来处理影像,这样的成效又适用在什麽领域? 或是能对生活有什麽帮...