java多态,抽象类和接口

多态:

多态的三个条件:
1):必须有继承关系

2)有方法重写

3)父类引用指向子类对象:向上转型

Fu f = new Zi() ;

多态的弊端:不能使用子类特有功能:向下转型

将父类的对象强制转换为子类的引用

Zi z = (Zi)f;

抽象类:

特点:强制子类必须是实现抽象类中所有的抽象方法!抽象类不能实例化!(不能创建对象!);关键字abstrac

实际开发中:创建对象:

1)具体类

2)抽象类多态

3)接口多态

抽象类与抽象方法的联系:

如果一个类是抽象类,那么该类中一定有抽象方法吗?

错误的;

如果一个类中有抽象方法,那么该类一定是抽象类!

接口:

定义一个接口:接口的命名和类名是是一样的!

interface 接口名{}

接口的特点:

接口中的方法只能是抽象方法

接口也不能直接实例化!

如何创建接口对象呢?

接口的实现方式:是通过它的子实现类进行实例化的(创建对象)

接口多态的:

interface Inter{

 

}

class InterImpl  implements Inter{

}

接口多态:

Inter I = new InterImpl() ;

new Inter(){

方法的实现;

}

接口和抽象类的区别?

1)成员的区别:

接口:

成员变量:只能是常量: static final

成员方法:只能是抽象方法:默认修饰符:public abstract

构造方法:接口中没有构造方法

抽象类:

成员变量:可以是常量也可以是变量

成员方法:可以是抽象方法,也可以非抽象方法

构造方法:有构造方法:有参构造/无参构造

2)关系的区别

类与类:继承关系,只能单继承,不能多继承,可以多层继承

类与接口:实现关系,一个类可以在继承一个类的同时,可以实现多个接口

接口与接口:继承关系,可以单继承,可以多继承

3)设计理念的区别:

抽象类体现是一种继承关系,也体现的一种:是 的关系

接口是事物的一种扩展性功能,体现的一种:像 的关系



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值