接口:
为了弥补单继承造成的局限,产生了接口的概念。在接口全都是有全局常量以及抽象方法组成。
语法:
访问权限修饰符 interface 接口名称{
全局常量
抽象方法
}
注意:
接口的抽象方法必须是public 的访问权限。
接口不能直接创建对象。
接口如何创建对象,只能通过子类进行创建。
子类如何实现接口:
访问权限修饰符 class 子类名称 implements 接口名称{
属性
方法
}
子类(不是抽象类)如果实现一个接口,必须重写接口中全部的抽象方法。子类可以继承接口中的全部的全局常量。
java中只允许单继承,一个子类只能继承一个父类,但是子类实现接口,可以同时实现多个。
子类如果想实现多个接口:
访问权限修饰符 class 子类名称 implements 接口名称,接口名称,...,接口名称{
属性
方法
}
接口可以继承接口,并且允许多继承。
接口不能实现接口,接口只能继承接口。但是不能继承抽象类,抽象类可以实现接口。
多态性:
一种事物的多种的表现形态
多态性表现在两个方面:
1方法的重载与重写。
2.对象的多态性
对象的多态性表现在两个方面
1.对象的向上转型
指的是子类可以转变为父类类型。
父类类型 对象名称 = 子类对象
发生向上转型之后,父类对象只能调用自己所拥有的方法,对于子类所单独拥有的方法,
父类对象不能调用,当父类对象调用子类与父类共有的方法时,
如果此方法被子类重写,则执行子类重写的方法。
2.对象的向下转型
子类类型 对象名称 = (子类类型)父类对象;
`注意:`如果对象想要发生向下转型,必须先发生向上转型。如果没有发生向上转型,则会出现类型转换异常。
`抽象类一般都当做模板。`
`接口一般都当做标准`