随堂笔记160316内部类
来源:互联网 发布:怀特塞德数据 编辑:程序博客网 时间:2024/09/21 09:06
一、内部类
1.代码:
class Person{ private String name; class Heart{ public void jump(){ System.out.println("心脏在跳动"); } }}
2.创建内部类实例:
class Person{ private String name; class Heart{ public void jump(){ System.out.println(name + "心脏在跳动"); } } public Heart getHeart(){ //第一种创建内部类对象的方法 return new Heart(); }} class Test{ public static void main(String[] args){ Person.Heart inner = new Person().getHeart();//通过第一种方式获取 Person p = new Person(); Person.Heart = new p.Heart(); }}
总结
- 内部类可以访问外部类的私有属性
- 内部类可以体现包含关系
二、静态内部类
1.代码:
class Outer{ static class Inner{ public void test(){ System.out.pintln("这是测试"); } }}
2.静态内部类实例化:
class Test{ public static void main(String[] args){ new Outer.Inner().test();//访问了内部类的test()方法 }}
静态内部类只能访问静态属性
三、方法里的内部类
1.代码:
class Outer{ public void test(final int age){ class Inner{ public void innerTest(){ System.out.println(age); } } new Inner().innerTest(); }}class Test{ public static void main(String[] args){ new Outer().test(); }}
总结:
- 不可能从外部去调用方法中的内部类,只能通过在方法里调用这个方法里的内部类
- 内部类接收外部类方法的形参时必须定义为final,但是在jdk1.7以后就可以不用写final
四、匿名内部类
1.代码:
interface AA{ void test();}Class Test{ public static void main(String[] args){ new AA(){ public void test(){ System.out.println("我在测试匿名内部类"); } }.test(); }}
总结:
- 定义匿名内部类需要一个接口
- 一般匿名内部类只用一次,用的时候就去实现接口,灵活
包装类
0 0
- 随堂笔记160316内部类
- 内部类笔记小结
- 内部类学习笔记
- 内部类学习笔记
- Java笔记 内部类
- Java内部类笔记
- 静态内部类 笔记
- Java笔记:内部类
- 匿名内部类笔记
- java内部类笔记
- 内部类学习笔记
- 内部类笔记
- 《内部类》学习笔记
- Java笔记 - 内部类
- java内部类笔记
- 内部类学习笔记
- 内部类学习笔记
- 内部类学习笔记
- 随堂笔记160315工厂和代理模式
- 5w2h-是什么,是什么时代的产物
- u-boot分析 三 (u-boot.lds脚本)
- python笔记---列表
- 算法竞赛第三章习题
- 随堂笔记160316内部类
- 算法之--快速排序
- GIT用法
- 类学习三
- BZOJ_P1857 [SCOI2010]传送带(三分套三分)
- 汇编学习1
- 欢迎使用CSDN-markdown编辑器
- [c++]链表实现--持续更。
- 类指针