【Java基础总结】-接口与内部类
2017-11-30 10:40
190 查看
接口
重难点总结:1、接口中的所有方法自动地属于public,在接口声明方法时,不必提供关键字public,但是在实现接口 编写具体的接口方法时,需要加上public修饰符。
2、在接口中可以定义常量(默认就是用public static final修饰)。接口中绝对不能含有实例域或静态方法,也不能在接口中实现方法。
3、接口看成是没有实例域的抽象方法。
4、Java程序设计语言是一种强类型语言,在调用方法的时候,编译器将会检查这个方法是否存在。
5、不能构造接口的对象,却能声明接口的变量,接口变量必须引用实现了接口的类对象。
6、接口之间通过继承关系扩展接口。
克隆
对象的克隆是指创建一个新对象,且新对象的状态与原始对象的状态相同。当对克隆的新对象进行修改时,不会影响原始对象的状态。接口与回调
回调可以指出某个特定事件发生时应该采取的动作,需要实现接口中的方法。内部类
内部类
顾名思义在类中再定义一个类。public class A{ int i = 100; class innerClass{ int m = i; } }
内部类方法可以访问该类定义所在的作用域中的数据,包括私有的数据
内部类可以对同一个包中的其他类隐藏起来
定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便携
值得注意的是,外围类的引用在构造器中设置。编译器修改了所有的内部类的构造器,添加一个外围类的引用参数。因此内部类的对象有一个隐式引用,它指向创建它的外部类对象。
所以内部类既可以访问自身的数据域,也可以访问创建它的外围类对象的数据域。
局部内部类
一个类的方法体中定义的类。public class A{ int i = 100; public void innerClass(){ class B{ int m = i; } } }
局部类 不能用public或private访问说明符进行声明,他的作用域被限定在声明这个局部类的块中。
局部类有一个优势,即对外部世界可以完全隐藏起来。
匿名内部类
一个类在new 创建一个对象实例时,直接实现其中的接口方法ActionListener listener = new ActionListener(){ public void actionPerformed(ActionEvent event){...} };
静态内部类
使用内部类只是为了把一个类隐藏在另外一个类的内部,并不需要内部类引用外围对象。为此,可以将内部类声明为static,以便取消产生的引用。public class A{ static int i = 100; static class B{ int m = i; } }
相关文章推荐
- 黑马程序员 Java基础接口、内部类及异常
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- 黑马程序员_Java基础_抽象类,模板设计模式,接口,内部类,多态
- 黑马程序员--Java基础加强--12.利用反射操作泛型I【与反射+泛型相关的接口类型综述】【Type】【ParameterizedType】【个人总结】
- Java基础之接口和多态知识点总结
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- 黑马程序员:Java基础总结----继承&抽象&接口
- 黑马程序员——java基础(面向对象)抽象、接口、内部类
- 【Java总结】final关键字,抽象类,接口,内部类
- 黑马程序员--Java基础--继承、抽象类、接口、内部类、异常、包
- 黑马程序员——Java基础--内部类总结
- java基础---接口、抽象类、内部类
- 黑马程序员——Java基础---面向对象(继承、多态、抽象类、接口、内部类)
- 【java基础】内部类,局部内部类,匿名内部类、静态内部类、接口中的内部类
- 黑马程序员__ 6java基础 接口 多态 内部类
- Java基础学习中,关于面向对象中多态、抽象类、接口的总结
- 黑马程序员:Java基础总结----内部类
- Java基础--抽象、接口、内部类
- 黑马程序员:Java基础总结----接口 Collection<E>&iterator
- 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类