接口 interface 接口的多继承 implements实现 抽象和接口的异同点
来源:互联网 发布:手游客户端数据异常 编辑:程序博客网 时间:2024/04/30 11:15
interface
接口:初期理解,可以认为是一个特殊的抽象类。
当抽象类中的方法都是抽象的,那么该类可以通过接口的形式表示。
作用:功能扩展!
class 用于定义类
接口定义时,格式特点:
1接口中常见定义:常量,抽象方法;
2接口中的成员都是有固定修饰符。
常量:public static final
方法:public abstract
记住:接口中的成员都是public的。
接口是不可以创建对象的,因为有抽象方法。
需要被子类实现,子类对接口中的抽象发放全部都覆盖后,子类才可以实例化。
否则子类是个抽象类。
interface Inter{public static final int NUM=3;public abstract void show();}class Test implements Inter{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);// X t.Num = 4 错误,NUM是常量,不能赋值!}}
接口可以被类多实现
是对多继承不支持的转换形式,java支持多实现。(一个类可以同时实现多个接口)
多继承(接口与接口的情况下)
java不支持多继承,但是在接口与接口的情况下,支持多继承!
在类中,以多实现的方法体现出来。
继承 和 接口在多继承上的差异原因
继承:没有多继承,因为父类中肯能存在同名的多个方法,会导致子类调用的不确定。
接口:有多继承,因为父类方法中,没有方法体,只有方法定义,所以重复没有关系。
interface A{void methodA();}interface B {void methodB();}interface C extends B,A //接口与接口情况下的 多继承{void methodC();}class D implements C//多实现方法体现{public void methodA(){};public void methodB(){};public void methodC(){};}
implements 实现
interface A{public void show();}interface Z{public int add(int a,int b);}class Test implements A,Z//多实现{public int add(int a,int b){return a+b+3;}/**/public void show(){}}
抽象类和接口的异同点:
相同点:
都是不断向上抽取而来的。
不同点:
1,抽象类需要被继承,而且只能单继承。
接口需要被实现,而且可以多实现。
2,抽象类中可以定义抽象方法和非抽象方法,子类继承后,可以直接使用非抽象方法。
接口中只能定义抽象方法,必须由子类去实现。
3,抽象类的继承,是is a关系,在定义该体系的基本共性内容。
接口的实现是 like a 关系,在定义体系额外功能。
abstract class Student{abstract void study();void sleep(){System.out.println("sleep");}}interface Smoking{void smoke();}class ZhangSan extends Student implements Smoking{void study(){}public void smoke(){}}class Lisi extends Student{}class {public static void main(String[] args) {System.out.println("Hello World!");}}
abstract class Sporter{abstract void paly();}interface study{}class WangWu extends Sporter implements study{public void play(){}}class demo{public static void main(String[] args) {System.out.println("Hello World!");}}
0 0
- 接口 interface 接口的多继承 implements实现 抽象和接口的异同点
- interface学习以及 抽象类和接口的异同点
- 接口和抽象类的异同点
- 抽象类和接口的异同点
- interface,abstract class,abstract interface Java中的接口,抽象类和抽象接口的异同
- Java的抽象类abstract和接口interface的异同点
- 4.3抽象类abstract和接口interface定义implements实现接口中的抽象方法
- 接口与抽象类的异同点
- Java类和接口的继承和实现关系(Class和Interface中的extends和implements关系)
- Java 接口和抽象类---不可不知的异同点
- java中抽象类和接口的异同点
- Java 接口和抽象类的异同点
- 抽象类(abstract class)与接口(interface)的异同
- 抽象类(abstract class)与接口(interface)的异同
- 抽象类和接口,类的异同
- 抽象类和接口的异同?
- 抽象类和接口的异同
- 接口和抽象类的异同
- 20140929个人日志(label设置背景图,版本发布)
- 每秒100帧的行人检测方法
- 数字字符链表转整数
- java反射基本应用
- 日志输出相对路径
- 接口 interface 接口的多继承 implements实现 抽象和接口的异同点
- NSURL
- js实现文件下载
- 事务补偿机制
- 第二章:线性表(思维导图)
- Android4.3状态栏增加电量百分比显示功能
- c++内存分布
- js限制input只能输入有效的数字,有且只有一个小数点,第一个不能为小数点
- MySQL字符编码问题,Incorrect string value