内部类别
如果在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
上一篇文章中介绍的报价方法,在我这一年多来的实验结果,碰过很多无法接受或是仍旧希望要有报价单、合约书...
介绍了 juce::Rectangle 以及 juce::FlexBox 这两个拉版工具後,这篇介绍...
到目前为止,介绍了许多操作 Docker 的方法,现在来了解更详细的操作方法。 说穿了,其实还是下指...
昨天让kubernetes上的各项监控数据顺利的统一到grafana上,今天就来把服务的log统一集...
我们现在已经知道 OpenCV 可以拿来处理影像,这样的成效又适用在什麽领域? 或是能对生活有什麽帮...