一、抽象类
抽象类相当于一个提纲,用于表明对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象,然后对继承抽象类的子类做出限制。
抽象类用关键词 abstract 实现
//抽象类 public abstract class Chouxixnaglei { public abstract int Fangfa(); } //子类 public class Zilei { //具象抽象类的方法 public overrideint Fangfa() { return Zhi; } }
抽象类作为父类,只能有一个。
抽象类方法只写到方法名();后面的方法体不写。
抽象方法引用时需要先在子类中具象出来才能使用,否则会报错。
抽象类不可以实例化对象。
抽象方法只能存在于抽象类中。
抽象类中不是只能有抽象方法,也可以有普通方法和虚方法等。
抽象类中也可以有成员变量和属性。
二、接口
接口是一个引用类型(class),通过接口可以实现多重继承。
接口是一种约束形式,其中只包括成员定义,不包含成员实现的内容,就是接口中只有高度抽象化的内容,不能有具体的内容。
接口用 interface 关键词实现,interface代替了class。
//抽象类 public abstract class Chouxixnaglei { public abstract int Fangfa(); } //接口 interface Jiekou { int Fangfa1(); } //子类 public class Zilei : Chouxianglei , Jiekou { //具象抽象类的方法 public overrideint Fangfa() { return Zhi; } //具象接口的方法 public int Fangfa1() { return Zhi1; } }
接口的继承代码是 子类:抽象类(父类) , 接口。
接口可以有多个。
接口中只允许存在public级别的方法,不能写其他访问修饰符。可以不写,默认public。
接口中只能存在很抽象的方法。
接口也不允许实例化对象。