抽象类和接口
抽象类
关键字:abstract加在class前面
1、抽象类的定义方式
package com.Oop.demo02;
//abstract:抽象类
public abstract class Action {
//约束~有人帮我们实现
//abstract,抽象方法,只有方法名字没有方法的实现
public abstract void move();//方法前要加abstract
public abstract void run();
}
2、子类继承抽象类并重写抽象类中的方法
package com.Oop.demo02;
//抽象类的子类都必须全部重写抽象的方法
public class A extends Action{
@Override
public void run() {
}
@Override
public void move() {
}
}
3、抽象类总结
1、不能new抽象类,只能通过他的子类去实现他
2、抽象类的方法只有方法名,没有方法的具体实现!
3、抽象类是单继承,即一个子类只能有一个父类
- 抽象类不常用,常用的是接口,接口与抽象类相似
接口
关键字:interface、implements
1、接口的定义方式:接口名前加:interface
接口1
//interface接口关键字,接口都需要有实现类
public interface UserService {
//接口中的所有定义其实都是抽象的
void add(String name);
}
接口2
public interface TimeService {
void timer();
}
2、子类的定义:类名后面 + implements + 接口名(可以有多个接口)
//类可以实现接口:+ implements + 接口名
//实现了接口的类,就需要重写接口的方法
//接口可以实现多继承
public class UserServiceImpl implements UserService,TimeService{
@Override
public void add(String name) {
}
@Override
public void timer() {
}
}
3、接口总结
1、作用(功能):定义一些方法,让不同人实现
2、方法只有void + 方法名,并且只定义名字,具体实现由子类去实现
3、多继承,子类可以有多个接口且子类必须全部重写接口里的方法
4、接口没有构造器
浙公网安备 33010602011771号