抽象方法和普通方法的的区别
-
抽象方法没有方法体,普通方法一定要有方法体
-
抽象方法一定要有abstract修饰,普通方法一定不能有
-
抽象方法必须写在抽象类中,普通方法既可以在抽象类中也可以在普通类中
-
被继承时,必须要被子类重写,普通方法普通方法没有要求
抽象类和普通类的区别
- 语法不同,抽象类是被abstract修饰的类,普通类一定不能被abstract修饰;
- 抽象类中可以有抽象方法,普通类一定不能有抽象方法;
- 抽象类不能被实例化,普通类可以去实例化调用;- 创建对象
- 抽象类被继承时,子类必须重写全部的抽象方法,或者将子类声明为抽象类;普通类继承普通类的时候,没有任何限制;
接口与抽象类的区别
- 抽象类使用关键字abstract class修饰,接口使用关键字interface;
- 抽象类使用关键字extends实现继承,接口使用implements来实现
—类和他们的关系; - 抽象类中可以包含抽象方法和普通方法,接口中只能有抽象方法(1.7)
- 抽象类可以有构造方法,接口中不能有构造方法;
- 抽象类可以有成员变量,接口中只能有常量;
- 抽象类只能单继承,接口可以多继承;
- 抽象类里面的方法可以是public,protect,private,接口的方法只能是public;