抽象类—多态—多态转型—instanceof关键字

本文探讨了抽象类的概念,包括抽象方法的定义与使用规则,以及抽象类在设计模式中的角色。重点讲解了多态性在软件开发中的应用,涉及继承、方法重写、向上转型、向下转型和instanceof关键字。了解如何利用抽象类和多态提升代码灵活性和扩展性。
摘要由CSDN通过智能技术生成

抽象类包含了抽象方法

抽象方法

• 抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.

 

• 抽象方法必须用abstract关键字进行修饰

 

如果一个类继承了抽象类,要么重写抽象类中所有抽象方法,要么将此类也声明为抽象类

抽象类

●如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象

类。

● 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方

法和构造方法。

● 用abstract修饰的类就是抽象类。如果某个类中包含有抽象方法,那么该类就必

须定义成抽象类。

特点:

• 抽象类不能被实例化,但可以有构造方法,因为抽象类中含有无具体实现的方法,

所以不能用抽象类创建对象。

● 抽象类只能用作基类,表示的是一种继承关系。继承抽象类的非抽象类必须实

现其中的所有抽象方法,而已实现方法的参数、返回值要和抽象类中的方法一

样。否则,该类也必须声明为抽象类。

 

● 抽象类,抽象方法,在软件开发过程中都是设计层面的概念。也就是说,

设计人员会设计出抽象类,抽象方法,程序员都是来继承这些抽象类并

覆盖抽象方法,实现具体功能。

多态

多态:同一种事物,在不同时刻表现不同的状态

多态存在的三个必要条件 :

要有继承关系(类继承类,类继承抽象类,类实现接口)(前提条件)

要有方法重写(前提条件)

父类引用执行子类对象

• 当编译期类型是父类,运行期类型是子类时,被称为父类引用指向子类对象

 

语法

 

 

 

静态方法不能重写,通过类名调用

 

 

成员变量不会被重写,所以编译运行都看左边

多态转型

  • 自动转型:子 继承 父

向上转型(子类型) 自动转为(上升为) 父类类型

Animal dog = new dog();

  • 强制转换:

    向下转型(父类类型) 转为 子类自己的类型

优缺点:

● 方法参数具有多态性(好处:提高代码的扩展性)

 

● 向上转型(优点:提高程序的扩展性 缺点:父类不能调用子类特有的方法)

 

● 向下转型 (作用是:为了使用子类中的特有方法)

 

 

instanceof关键字:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值