前言:
在java中不像c++中那样可以实现类的多继承,java中的多继承需要接口来实现。这也叫伪多继承
话不多说直接上代码。
1.首先我们新建一个接口
package com.oop.demo09;
// interface 定义关键字,接口都需要实现类(类似于抽象类都需要子类去实现)
public interface UserService {
// 接口中定义的方法其实都是抽象方法 方法前自动添加 public abstract
public abstract void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
2.接口都需要类去实现
-
抽象类的继承是extends
-
类可以去实现接口 用implements关键字
-
实现接口的类,就需要重写接口中定义的方法
-
接口可以实现多继承 只要在 implement后面接其他接口名就行了
package com.oop.demo09;
public class UserServiceImpl implements UserService {
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
}
3.为了验证java接口的多继承,我们再定义一个接口
package com.oop.demo09;
public interface TimeService {
void say();
}
package com.oop.demo09;
/*
1.抽象类的继承是extends
2.类可以去实现接口 用implements关键字
3.实现接口的类,就需要重写接口中定义的方法
4.接口可以实现多继承 只要在 implement后面接其他接口名就行了
1.多继承 利用接口实现多继承
*/
public class UserServiceImpl implements UserService, TimeService {
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
@Override
public void say() {
}
}
总结:
1.接口就像约束:类似于现实世界中的法律
2.在接口中定义一些方法 让不同的人去实现 接口中的方法都是抽象方法必须要子类去实现 public abstract
3.在接口中定义的变量都是静态常量 用public static final修饰
4.接口不能被实例化,接口没有构造方法
5.接口可以给java实现多继承,用关键词implement去实现多个接口
6.在接口的实现类中必须要重写接口中的方法