java学习笔记-接口与内部类
2016-03-14 22:27
295 查看
一、定义
接口:接口用来描述具体的功能,但并不给出功能的具体实现
内部类:处于另一个类的内部,其中的方法可以访问外部类的域,内部类技术主要用来设计具有相互协作的类集合
二、接口(没有实例域的抽象类)(instanceof也可以用于接口)
–1》接口中的方法自动属于public,不必提供关键词
–2》接口中不能包含实例域和静态方法,却可以包含常量
**自动设置为public static final
–3》不能用new实例化接口,却能够声明接口的变量:
**如List list=new ArrayList();
–4》接口与抽象类:
类是单继承,接口是多继承
三、内部类
–1》**内部类可以访问该类所在作用域的数据,包括私有数据
**内部类可以对同一个包中的其他类隐藏起来
**当要定义一个回调函数又不想编写大量代码用匿名内部类
–2》局部内部类
**局部内部类定义在方法中,完全隐藏,只有方法知道内部类的存在
**局部内部类可以访问被声明为final的局部变量、
–3》静态内部类
**只可以访问外部类的静态成员和静态方法,包括了私有的静态成员和方法。
–4》匿名内部类
**匿名内部类隐式地继承了一个父类或者实现了一个接口
接口:接口用来描述具体的功能,但并不给出功能的具体实现
内部类:处于另一个类的内部,其中的方法可以访问外部类的域,内部类技术主要用来设计具有相互协作的类集合
二、接口(没有实例域的抽象类)(instanceof也可以用于接口)
–1》接口中的方法自动属于public,不必提供关键词
–2》接口中不能包含实例域和静态方法,却可以包含常量
**自动设置为public static final
–3》不能用new实例化接口,却能够声明接口的变量:
**如List list=new ArrayList();
–4》接口与抽象类:
类是单继承,接口是多继承
三、内部类
–1》**内部类可以访问该类所在作用域的数据,包括私有数据
**内部类可以对同一个包中的其他类隐藏起来
**当要定义一个回调函数又不想编写大量代码用匿名内部类
–2》局部内部类
**局部内部类定义在方法中,完全隐藏,只有方法知道内部类的存在
**局部内部类可以访问被声明为final的局部变量、
class LocalInner { int a = 1; public void doSomething() { int b = 2; final int c = 3; // 定义一个局部内部类 class Inner3 { public void test() { System.out.println("Hello World"); System.out.println(a); // 不可以访问非final的局部变量 // error: Cannot refer to a non-final variable b inside an inner // class defined in a different method // System.out.println(b); // 可以访问final变量 System.out.println(c); } } // 创建局部内部类的实例并调用方法 new Inner3().test(); } }
–3》静态内部类
**只可以访问外部类的静态成员和静态方法,包括了私有的静态成员和方法。
class StaticInner { private static int a = 4; // 静态内部类 public static class Inner { public void test() { // 静态内部类可以访问外部类的静态成员 // 并且它只能访问静态的 System.out.println(a); } } }
–4》匿名内部类
**匿名内部类隐式地继承了一个父类或者实现了一个接口
String str2 = test.getDate(new Date() { });// 使用了花括号,但是不填入内容,执行结果和上面的完全一致 // 生成了一个继承了Date类的子类的对象
相关文章推荐
- java泛型基本介绍
- Java中的线程模型及实现方式
- Java ConcurrentHashMap 源代码分析
- 新生代转移到老年代的触发条件
- [疯狂Java]AWT剪切板:本地(系统)剪切板传递Java对象
- JAVA基础(四)接口的概念
- Java ――对Swing、AWT和SWT的认识
- JAVA GC总结
- JAVA实现最短距离算法之迪杰斯特拉算法
- maven+eclipse基础
- java中synchronized锁定对象问题
- java开发--配置ssh
- Spring文档学习--异常处理(Handling exceptions)以Shiro为例
- Java遇见HTML——JSP篇之JSP内置对象(下)
- Java JDBC基础学习小结
- Spring MVC 参数的绑定方法
- java邮件发送--JavaMail
- Java 多线程:Lock 关键字
- spring控制器
- java内置对象三