继承是面向对象软件技术中的一个概念,若一个类A继承另一个类B,则将A称为子类,B称为父类。C++中继承方式有三种:public,private,protected。继承使得子类具有了父类的属性和方法,无需重新写代码实现,当然也可以新增自己的属性和方法。另外子类可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。Java语言中,一个子类只能继承一个父类,这时可以使用接口来实现多重继承的效果。
接口:
1.接口定义:
【1】定义关键字:interface
【2】格式:public interface 接口名 extends 接口,...(可以继承一个或多个接口)
只有一种访问修饰符:public
【3】接口中只能定义常量和抽象方法
//常量
public static final 数据类型 常量名 = 值;
static final 数据类型 常量名 = 值;
数据类型 常量名 = 值;
//抽象方法
public abstract 返回值类型 方法名(数据类型 参数名,...);
abstract 返回值类型 方法名(数据类型 参数名,...);
返回值类型 方法名(数据类型 参数名,...);
接口默认会提供abstract,static,final的关键字
【4】接口不能用来实例化对象
2.接口的实现
【1】实现关键字:implements
【2】格式:public class 类名 extends 父类或抽象类 implements 父接口,... {
//重写,必须实现接口中所有的抽象方法。
}
注意:类可以先继承类,然后再去实现接口(此处顺序不可以改变)
3.接口和类的区别
【1】接口不能用来实例化对象,而类可以
【2】接口里面不存在构造方法(因为不需要创建对象),而类里面可以有构造函数还有普通函数
【3】定义的内容不同
【4】被继承后前者必须要重写实现所有的抽象方法,而后者可以选择性的重写
【5】访问修饰符的不同,接口只有public,而类三种都存在
【6】接口可以继承一个或者多个接口,而类只能继承一个
【7】关键字的不同
4.接口的作用
【1】丰富类的继承关系。
【2】.团队开发中常用接口和抽象类。
接口虽然弥补了Java中的多重继承,但是它的限制性也很强,为此,出现了抽象类的定义,它是介于类和接口之间的一种特殊类。
抽象类:
1.抽象类定义
【1】定义关键字:abstract class
【2】格式:public abstract class 抽象类名 extends 类或抽象类 implements 接口,...{
//定义类中所有的属性和方法。
//定义接口中的常量和抽象方法
//常量
访问修饰符 static final 数据类型 常量名 = 值;
//抽象方法
public|protected|默认的 abstract 返回值类型 方法名(数据类型 参数名,...);
}
【3】注意:
类继承抽象类后,如果抽象类中有抽象方法则必须要实现。
抽象类是不能创建对象的。
接口:
1.接口定义:
【1】定义关键字:interface
【2】格式:public interface 接口名 extends 接口,...(可以继承一个或多个接口)
只有一种访问修饰符:public
【3】接口中只能定义常量和抽象方法
//常量
public static final 数据类型 常量名 = 值;
static final 数据类型 常量名 = 值;
数据类型 常量名 = 值;
//抽象方法
public abstract 返回值类型 方法名(数据类型 参数名,...);
abstract 返回值类型 方法名(数据类型 参数名,...);
返回值类型 方法名(数据类型 参数名,...);
接口默认会提供abstract,static,final的关键字
【4】接口不能用来实例化对象
2.接口的实现
【1】实现关键字:implements
【2】格式:public class 类名 extends 父类或抽象类 implements 父接口,... {
//重写,必须实现接口中所有的抽象方法。
}
注意:类可以先继承类,然后再去实现接口(此处顺序不可以改变)
3.接口和类的区别
【1】接口不能用来实例化对象,而类可以
【2】接口里面不存在构造方法(因为不需要创建对象),而类里面可以有构造函数还有普通函数
【3】定义的内容不同
【4】被继承后前者必须要重写实现所有的抽象方法,而后者可以选择性的重写
【5】访问修饰符的不同,接口只有public,而类三种都存在
【6】接口可以继承一个或者多个接口,而类只能继承一个
【7】关键字的不同
4.接口的作用
【1】丰富类的继承关系。
【2】.团队开发中常用接口和抽象类。
接口虽然弥补了Java中的多重继承,但是它的限制性也很强,为此,出现了抽象类的定义,它是介于类和接口之间的一种特殊类。
抽象类:
1.抽象类定义
【1】定义关键字:abstract class
【2】格式:public abstract class 抽象类名 extends 类或抽象类 implements 接口,...{
//定义类中所有的属性和方法。
//定义接口中的常量和抽象方法
//常量
访问修饰符 static final 数据类型 常量名 = 值;
//抽象方法
public|protected|默认的 abstract 返回值类型 方法名(数据类型 参数名,...);
}
【3】注意:
类继承抽象类后,如果抽象类中有抽象方法则必须要实现。
抽象类是不能创建对象的。