接口
为了更好的理解什么是接口,我们用生活中的例子来比喻:
生活中有很多接口就例如我们电脑或者其他设备上都有usb接口,我们把这个接口写成一种规范,所有满足这个规范的都是usb准备了
接口格式:
interface 接口名{
成员方法和成员变量
成员变量是有缺省属性的public static final
成员方法的缺省属性是public abstract
成员方法所以没有方法体;
可以用default修饰方法,并不强制遵从接口的实现类进行重写此方法
}
在接口的使用者我们会用到多态
大家常说的多态就是:父类引用指向之类对象
接口引用指向遵从接口的实现类
就好比我们创建了一个usb的接口,里面写了一个connect方法,
很多设备想要使用usb接口就必须实现usb接口,这些实现类就要重写接口中的connect方法。
例如:鼠标类需要usb接口
class Mouse implements Usb{
public viod connect(){
System.out.println(“鼠标连接USB接口,控制光标”);
}
}
我们电脑只要拥有usb就可以使用任何usb接口的实现类
class PC {
/**
* 电脑类连接USB接口连接方法,这里需要的是一个USB设备
*
* @param usb USB接口对应的设备
*/
public void usbConnect(USB usb) {
// usb设备执行connect方法
usb.connect();
}
}
继承
继承就是字面意思,继承父类中的属性,和方法,但是子类可以重写父类中的方法,方法体声明必须一样,方法体可以进行重新编写
class Animal {
public void name() {
}
}
public class Demo1 extends Animal {
@Override
public int name(int i) {
// TODO Auto-generated method stub
super.name();
}
}
上面这代码是会报错的形式参数列表不同,返回值类型不同,因为我们加上了@Override这是检查重写方法格式的
我们
在继承中:
我们创建父类对象可以由子类对象来实现,例如我们Animal为父类,Dog为子类
Animal animal = new Dog();来实现
父类引用指向子类对象
多态
父类的引用指向子类的对象
或者说接口的引用指向遵从接口的类对象
这就是多态
作用:
1. 拓宽方法的参数范围
例如:
方法参数为Animal类型
可以传入Animal类型本身,或者去子类对象都可以
方法参数为USB接口类型
只要是直接或者间接遵从USB接口的类对象可以作为方法的参数传入
2. 拓宽方法的返回值范围
3. 简化代码开发,提高开发效率,整合数据类型