活动地址:优快云21天学习挑战赛
1.什么是接口?
通过interface关键字修饰的java元素就是接口。
package com.wangxing.test1;
//接口
public interface MyInterface {
}
2.为什么要使用接口?
接口的出现体现出java的扩展.[为了以后程序扩展方便]
接口是提供可以由子类共享的一般形式,由子类根据自己的实际情况去处理这个一般形式。
例如:收费,出租车有收费功能【1元/公里】,飞机有收费功能【全程1000元】
接口的子类往往都是不同种类事物。
接口主要是提供功能,提供功能不去实现该功能,由不同的不同种类事物去实现。
为了克服java的单继承问题,可以使用接口,可以被使用多个。
3.接口中可以有哪些元素?
接口中可以有类变量、类方法、抽象方法。
1.接口中变量一定是 public static修饰的类变量。
2.接口中的类方法一定是public修饰的,public可以被省略
3.接口中的抽象方法一定是public abstract修饰的,public abstract可以省略
例如:
4.接口的具体用法
1.接口不能new
2.类可以通过implements关键字去实现一个/多个接口
实现一个public class MyClass implements MyInterface{}
实现多个接口 public class MyClass implements MyInterface1,MyInterface2,…,MyInterface_n{}
3.普通的类去实现一个/多个接口,就需要将每一个接口中的抽象方法重写,否则就需要将这个普通的类改成抽象类.
4.抽象类去实现一个/多个接口,不需要重写接口中的抽象方法。
5.接口可以继承接口,并且可以继承父接口中的所有元素.
//接口可以继承接口,并且可以继承父接口中的所有元素
public interface DemoInterface extends MyInterface{
}
6.利用接口回调对象创建出接口对象
7.当某一个普通的java类中的方法参数是接口类型的时候,可以传递接口回调对象,也可以是接口的子类对象。
例如:
5.什么是接口回调对象及其基本特征?
接口回调对象与上转型对象很相似
上转型对象–子类对象赋值给父类变量。
接口回调对象—实现了该接口的子类对象赋值给接口变量。
接口回调对象可以调用被子类重写的抽象方法,但是不能调用子类自己的定义的变量和方法,如果一定要调用子类自己的定义的变量和方法,那么就需要将接口回调对象强制类型转换成子类对象