接口
一.接口的定义:
接口可以被认为是一个特殊的抽象类。当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。接口使用interface来表示,子类中用implements实现。
二.格式特点:
接口中常见定义:常量,抽象方法。
接口中的成员都有固定修饰符。
常量:public static final。
方法:public abstract
接口中的成员都是public的。
接口是不可以创建对象的,因为有抽象方法。需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以被实例化。否则子类只是一个抽象类。
三.接口的特点:
接口是对外暴露的规则。
接口是程序的功能扩展。
接口可以由类多实现。
类与接口之间是“实现关系”,而且类可以继承一个类的同时实现多个接口。
接口与接口之间可以有继承关系。
interface IA
{
}
interface IB
{
}
//一个接口同时继承多个接口。接口间的继承,允许多继承;
interface IC extends IA,IB
{
}
class A
{
}
//MyClass继承自A,同时实现接口:IA和IB
class MyClass extends A implements IA,IB
{
}
class Demo
{
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
多态
一.多态概述
指同一个实体同时具有多种形式,也可以理解为事物存在的多种体现形态。例如动物中猫和狗。猫这个对象对应的类型是猫类型,如:猫 cat1 = new 猫()。同时猫也是动物的一种,因此也可以把猫称为动物。动物 cat1 = new猫()。那么动物就是从猫和狗等具体事物中抽取出来的父类型。
二.多态的利弊
好处:多态的出现大大提高了程序的扩展性.
弊端:虽然提高了扩展性,但是只能使用父类的引用访问父类的成员。
三.多态的前提
类与类之间必须有关系,要么继承,要么实现。
存在覆盖。父类中有方法被子类重写。
四.运用实例
{
public void show()
{
show2();
}
public void show2()
{
System.out.println("我");
}
}
class B extends A
{
public void show2()
{
System.out.println("爱");
}
}
class C extends B
{
public void show()
{
super.show();
}
public void show2()
{
System.out.println("你");
}
}
class Test
{
public static void main(String[] args)
{
A a = new B();
a.show();//爱
B b = new C();
b.show();//你
}
}