随堂笔记160316内部类
2016-03-20 21:13
453 查看
一、内部类
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(); } }
总结:
定义匿名内部类需要一个接口一般匿名内部类只用一次,用的时候就去实现接口,灵活
包装类
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树