Java抽象类
/**
* @Author Void
* @Description //TODO 抽象类
* @Date 12:09 2021/3/5
* @Param
* @return
**/
//用abstract 关键字定义
public abstract class A {
//约束~让别人帮我实现
//abstract 方法 只有方法名没有方法的实现
//所有继承该类的子类,必须实现该类的抽象方法
public abstract void dosomething();
/*
* 不能new该抽象类,只能靠子类去实现他
* 抽象类可以写普通方法,抽象方法必须在抽象类中
* */
}
Java接口
概述
接口就是规范,定义的是一组规则,自己无法写方法
专业的约束,约束和实现分离:面向接口编程
关键字interface
定义接口
/**
* @Author Void
* @Description //TODO 接口,接口都需要有实现类
* @Date 12:39 2021/3/5
* @Param
* @return
**/
public interface UserService {
//接口中定义的所有属性,都是常量(一般不在这里定义属性)
int AGE = 99;//默认 public static final
//接口中的所有定义的方法都是抽象的 默认public abstract
void run(String name);
void add(String name);
void del(String name);
void update(String name);
void find(String name);
}
实现接口
//抽象类:单继承
//接口:多继承
//接口的实现类,需要重写接口中所有的方法
//类可以实现接口 通过implements 接口(可以是多个[多继承]),这里的Timer是另一个接口
public class UserServiceImpl implements UserService,Timer {
@Override
public void run(String name) {
}
@Override
public void add(String name) {
}
@Override
public void del(String name) {
}
@Override
public void update(String name) {
}
@Override
public void find(String name) {
}
@Override
public void times() {
}
}
接口的作用
接口作用:
1.约束
2.定义一些方法,让不同的人实现
3.方法默认前缀:public abstract
4.常量默认前缀:public static final
5.接口不能被实例化,因为接口不是类没有构造方法
6.接口可以同个implements可以实现多个接口
7.必须要重写接口中的所有方法