Java学习——接口和内部类
2018-03-20 14:32
302 查看
接口:定义了一系列的抽象方法和常量 ,形成一个属性集合。接口定义完成后任何类都可以实现接口,而且一个类可以实现多个接口。实现接口的类必须实现接口中定义的抽象方法。
接口使用的关键字:interface
接口定义注意:
1、接口的修饰符只能为默认的(无修饰符)或者public。当为默认时,接口是包可见的,在接口所在的包之外的类不能使用接口。修饰符为Public时,任何类都可以使用该接口。
2、接口可以声明变量,接口内的变量被 自动设置为共有的、静态的、最终的字段。
3、接口定义的方法都为抽象,它们被自动 地设置为public.
4、接口也被保存为.java文件,文件名与类名相同。
接口的实现,关键字:implements
class 类名 implements 接口1,接口2{
方法1(){
}
方法2(){
}
}
1、如果实现接口的类不是抽象类,它必须实现接口中定义的所有方法。如果该类为抽象类,在它的子类甚至子类的子类中要实现接口中定义的方法。
2、实现接口的方法时必须使用相同的方法名和参数列表
3、实现接口类中的方法必须被声明为public,因为在接口中的方法都被定义为public,根据继承的原则,访问范围只能放大,不能缩小。
接口和实现接口的类不能在同一个文件中。
接口之间的继承:
接口的应用 :
Animal和Mammal两个接口同上面一样,就不贴出来了:
通过接口来实现多态的一种方法。
通过接口创建常量组:
要用int类型的一组数来表示星期,而且这些天都是固定不需要改变的,就可以通过 接口来实现
内部类:
内部类分为静态内部类和非静态内部类
非静态内部类:如上面所示,它可以直接调用其宿主类的所有变量和方法,并且像宿主类的其他非静态成员那样直接引用它们。
静态内部类:用static修饰,不能直接访问其宿主类的成员,而必须通过对象来访问。
宿主类访问内部类的成员变量:
静态内部类的静态变量,直接用“类名.变量名”;
静态内部类的非静态变量,生成它的对象利用对象来访问;
非静态内部类中不包含静态变量,所以必须用非静态内部类的对象来访问;
静态内部类和非静态内部类对象的创建也不相同。
局部内部类:
变量定义在类中叫做成员变量,定义在方法中叫做局部变量;
内部类定义在方法中也叫做局部内部类。
匿名内部类:
匿名就是没有名字,匿名内部类就是没有类名的内部类。
对象克隆
接口使用的关键字:interface
接口定义注意:
1、接口的修饰符只能为默认的(无修饰符)或者public。当为默认时,接口是包可见的,在接口所在的包之外的类不能使用接口。修饰符为Public时,任何类都可以使用该接口。
2、接口可以声明变量,接口内的变量被 自动设置为共有的、静态的、最终的字段。
3、接口定义的方法都为抽象,它们被自动 地设置为public.
4、接口也被保存为.java文件,文件名与类名相同。
接口的实现,关键字:implements
class 类名 implements 接口1,接口2{
方法1(){
}
方法2(){
}
}
1、如果实现接口的类不是抽象类,它必须实现接口中定义的所有方法。如果该类为抽象类,在它的子类甚至子类的子类中要实现接口中定义的方法。
2、实现接口的方法时必须使用相同的方法名和参数列表
3、实现接口类中的方法必须被声明为public,因为在接口中的方法都被定义为public,根据继承的原则,访问范围只能放大,不能缩小。
接口和实现接口的类不能在同一个文件中。
接口之间的继承:
接口的应用 :
Animal和Mammal两个接口同上面一样,就不贴出来了:
通过接口来实现多态的一种方法。
通过接口创建常量组:
要用int类型的一组数来表示星期,而且这些天都是固定不需要改变的,就可以通过 接口来实现
内部类:
内部类分为静态内部类和非静态内部类
非静态内部类:如上面所示,它可以直接调用其宿主类的所有变量和方法,并且像宿主类的其他非静态成员那样直接引用它们。
静态内部类:用static修饰,不能直接访问其宿主类的成员,而必须通过对象来访问。
宿主类访问内部类的成员变量:
静态内部类的静态变量,直接用“类名.变量名”;
静态内部类的非静态变量,生成它的对象利用对象来访问;
非静态内部类中不包含静态变量,所以必须用非静态内部类的对象来访问;
静态内部类和非静态内部类对象的创建也不相同。
局部内部类:
变量定义在类中叫做成员变量,定义在方法中叫做局部变量;
内部类定义在方法中也叫做局部内部类。
匿名内部类:
匿名就是没有名字,匿名内部类就是没有类名的内部类。
对象克隆
相关文章推荐
- Java学习笔记(4):接口与内部类
- java学习 接口派生 内部类实现接口 暑假第七天
- Java学习_抽象类、接口、内部类_2014_1_16
- Java 学习笔记 (3) -抽象类 abstract 接口 interface 内部类 inner class 继承 extends 实现 implements 包 package
- Java学习笔记四——接口与内部类
- Java学习笔记004——接口、克隆、回调、内部类
- C\C++ 程序员从零开始学习Android - 个人学习笔记(八) - java基础 - 继承、抽象类、接口、内部类(待续)
- [core java学习笔记][第六章接口与内部类]
- Java基础-接口,内部类及对象克隆的学习
- 黑马程序员-Java学习笔记之抽象类,接口,多态和内部类
- [学习笔记] Java核心技术 卷一:基础知识 接口、lambda表达式与内部类(三)
- JAVA学习4——内部类实现接口 未完成
- [core java学习笔记][第六章接口与内部类]
- Bravo!Java学习笔记(1)---接口、抽象类、对象克隆、内部类
- JAVA学习笔记-抽象类,接口和内部类
- Java入门基础_学习笔记[5]_接口与内部类
- Java学习_0712接口、抽象类内部类,继承
- Java核心技术(第8版)学习笔记_接口与内部类
- Java学习笔记(接口与内部类)
- 黑马程序员-Java学习04-接口,多态,内部类,匿名内部类,Object类