(1)为什么需要抽象类:在定义类的时候,有一些方法描述不清楚,就只是定义方法名,不写方法体,这种类就需要定义成抽象类
(2)如何定义抽象类 public abstract class A{}
(3)抽象类的特点:1) 抽象类中的方法可以是具体的方法,也可以是抽象方法
2) 抽象类中的属性可以是成员属性,也可以是类属性
3) 抽象类中有构造方法,但不能实例化对象
4) 抽象类不能直接使用,抽象类就是给子类去继承和扩展的
5) 一个类只能继承一个抽象类
(4)为什么需要接口:a:所有的方法都是抽象的 b:需要有多个父类
(5)如何定义接口 public interface A{}
(6)接口的特点 1)接口中的属性必须是常量
2)接口中的方法必须全部是抽象方法
3)接口没有构造方法,不能实例化
4)接口不能直接使用,是给子类去实现和扩展的
5)一个类可以实现多个接口
(7).一个类只能继承一个父类[单根继承]
public class A{}
public class B extends A{}
(8).一个接口可以继承多个接口
public interface C{}
public interface D{}
public interface E extends C,D{}
(9).一个类可以实现多个接口
public class F implements C,D{}
(10).一个类可以先继承一个类,再实现多个接口
public class G extends A implements C,D{}
(11)this:a:this(参数) 表示调用本类的构造方法,具体用哪一个,取决于参数列表
this.属性/this.方法 调用当前对象的属性或者方法
super:super(参数) 表示调用父类的构造方法,具体用哪一个,取决于参数列表
super.属性/super.方法 调用父类的属性或者方法
(12)在子类的构造方法中必须要调用父类的构造方法, 默认情况下,子类的构造方法中调用的是父类的默认无参构造方法,
如果父类没有无参构造方法,那么子类就必须要明确指定调用父类的构造方法在构造方法中调用构造方法必须在第一行