黑马程序员————接口和多态

接口

一.接口的定义:

接口可以被认为是一个特殊的抽象类。当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。接口使用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猫()。那么动物就是从猫和狗等具体事物中抽取出来的父类型。​

二.多态的利弊

好处:多态的出现大大提高了程序的扩展性.

弊端​:虽然提高了扩展性,但是只能使用父类的引用访问父类的成员。

三.多态的前提

​类与类之间必须有关系,要么继承,要么实现。

存在覆盖。父类中有方法被子类重写。

四.运用实例

class A
{
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();//你
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值