Java核心卷学习笔记——接口
来源:互联网 发布:apache phoenix 编辑:程序博客网 时间:2024/06/10 19:43
接口
1、接口中可以包含多个方法,这些方法自动地属于public,还可以定义常量;但是接口绝不能含有实例域,更不能在接口中实现方法。
- class 用于定义类,interface 用于定义接口 ;
public interface Comparable{ int compareTo(); ...}class A{ private String name; String getName() { return name; } ...}
2、让类实现一个接口:
- 将类声明为实现给定的接口
- 对接口中的所有方法进行定义
class Employee implements Comparable<Employee>{ int compareTo(Employee other) { return Double.compare(salary, other.salary); }}
接口的特性
1、接口不是类,不能使用new运算符实例化一个接口,但可以声明接口的变量。
x = new Comparable();// errorx = new Employee(...);// 接口变量必须引用实现了接口的类对象
if(anObject instanceof Comparable){...}
// 较高通用性的接口Apublic interface A{ void move();}// 以A为基础 扩展一个叫做B的接口public interface B extends A{ double show();}
4、接口中不能包含实例域或静态方法,但可以包含常量,其常量可以在方法中直接地引用
public interface B extends A{ int static final NUM = 3;// 接口中的域被设为 static final double show();}
5、尽管每个类只能拥有一个超类,但却可以实现多个接口
class Demo implements A, B{ ...}
6、接口与抽象类
接口可认为是一个特殊的抽象类,可看作是一种没有实例域的抽象类;当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。
abstract class Person{ private String name; public Person(String n) { name = n; } public abstract String getName() { return name; }}
7、接口不可以被创建对象,因为有抽象方法需要被子类实现:子类对接口中的抽象方法全部覆盖后,子类才可以被实例化,否则子类是一个抽象类
实例
InterfaceDemo.java
interface Inter{public static final int NUM = 3;public abstract void show();}interface InterA{public abstract void show();}class Demo{public void function(){}}class Test extends Demo implements Inter,InterA{public void show(){}}class InterfaceDemo{public static void main(String[] args) {Test t = new Test();System.out.println(t.NUM);System.out.println(Test.NUM);System.out.println(Inter.NUM);}}输出结果:
3
3
3
0 0
- Java核心卷学习笔记——接口
- java核心卷之接口学习笔记
- Java技术核心卷I学习笔记——继承
- Java核心卷学习笔记——内部类
- Java技术核心卷I学习笔记——基本的程序设计结构
- Java技术核心卷I学习笔记——类与对象
- Java核心编程:卷I——学习小记
- java核心卷之多线程核心内容学习笔记(一)
- java核心卷之多线程核心部分学习笔记(二)
- Hibernate核心开发接口——Hibernate学习笔记05
- 《TCP-IP详解 卷2:实现》学习笔记—接口层分析
- java核心卷之继承学习笔记,你真的懂继承了吗
- 接口与抽象类(java核心卷1-D6)
- 书评:Java核心编程卷1——基础
- java核心卷Ⅰ
- Servlet 与 Jsp核心编程 卷一 学习笔记 01
- [学习笔记] Java核心技术 卷一:基础知识 接口、lambda表达式与内部类(三)
- 【Java】学习笔记——接口
- noip模板整理
- P2615 神奇的幻方题解NOIP2015day1
- Python Web Development with Flask
- java异常详解
- scala的 apply方法和update方法
- Java核心卷学习笔记——接口
- 承认失败痛苦,单为了理想奋斗绝对值得
- MongoDb相关
- 转:缓存架构设计细节二三事
- Introduction to Model View Presenter on Android
- bzoj1704/poj3276[Usaco2007 Mar]Face The Right Way自动转身机
- java接口与抽象类
- Git上传指定文件夹和文件
- codevs 1811 A+B问题3(高精度)