抽象类
概念
抽象方法:只有方法的定义,没有方法体的实现,这种方法就是抽象方法
定义类抽象方法的类,就是抽象类
定义和实现
抽象类和抽象方法是用abstract关键字定义的: 如:定义抽象类:public abstract class Action {} 定义抽象方法:public abstract void doSomething();
抽象类中的方法,需要继承这个类的子类来将抽象方法进行重写,使之实现这个方法;
若子类不想实现父类的抽象方法,只要子类也是抽象类即可;这样的话就要交由它的子子类来实现;
注意事项
1.不能new这个抽象类(抽象类不能被实例化对象),只能通过子类来实现它;
2.让子类使用extends关键字继承抽象类,让子类实现抽象类中的抽象方法;
3.在抽象类中可以只定义普通方法,也可以只定义抽象方法;
4.有抽象方法,这个类一定是抽象类
接口
概念
接口就是一组规则,比如:如果”你是飞机,则必须能飞“之类这样的规则;
接口不关心你如何飞,可以是直升机那么飞,也可以客机那么飞;接口只需要你是飞的,如何飞由实现类来实现;
接口说了我这个方法是干啥干啥的。但是具体怎么干的,过程是啥?这个就是实现类来解决的问题,实现类来怎么干具体的过程都在实现类。
定义
接口是使用interface关键字来定义的 如:public interface UserService {}
接口中所有定义的方法都是抽象的,默认是隐藏了:public abstract,如:
//接口中定义方法
void run(String name);
//void run(); = public abstract void run();
接口中定义的属性都是静态常量,默认是隐藏了:public static final,如:
//接口中定义属性,都为静态常量
int AGE = 99;
//int AGE = 99; = public static final int AGE = 99;
实现
接口的实现是使用implements关键字,让类来实现的,这个类为实现类; 如:public class UserServiceImpl implements UserService {}
实现类可以实现多个接口,也就是多继承,接口与接口之间使用逗号分隔; 如:public class UserServiceImpl implements UserService,TimeService {}
实现类中,需要重写接口中的所有方法;
注意事项
1.约束,接口约束了这个方法必须干什么;实现类则是实现这个结果的过程;
2.定义一些方法,让不同的人实现,不同的人实现,就是不同的过程,提高代码效率;
3.接口中定义的方法,都是抽象方法;
4.接口中定义的属性,都是静态常量;
5.使用implements关键字可以让实现类实现(继承)多个接口;
6.实现类必须重写接口中的所有方法;
标签:定义,实现,接口,抽象类,方法,public From: https://www.cnblogs.com/chj020415/p/17131764.html