多态,接口,枚举

本文详细探讨了Java中的多态性,包括其定义、前提条件、语法及特性。同时,深入讲解了接口的使用,如默认方法和静态方法,并阐述了类与接口之间的关系。此外,还介绍了枚举类型及其在Java 1.5之后的特性,包括枚举的构造器、常用方法和扩展应用。通过对这些核心概念的理解,读者将能更好地掌握Java的面向对象编程思想。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多态

1.定义:同一种行为,具有多个不同的表现形式
2.前提条件:必须继承或者实现,必须有的重写
3.语法:父类的类名 对象名=new 子类的类名(实参列表);
子类的对象指向父类的引用
4.特性:
一旦有多态,分区编译和运行(编译看左,运行看右)
编译看左边:对象只能调用父类中存在的内容(子类独有的是调用不到的) 名义类型
运行看右边:运行的时候看实际类型是什么?调用的内容是调用实际类型 实际类型
属性和静态方法是没有多态的!
因为:属性和静态方法是没有重写和概念的
在调用属性和静态方法的时候,只看编译时类(名义的类型)

接口

JDK7.0之前 接口全部是抽象方法写的
JDK8.0 新增了特性
默认方法:default修饰符修饰的方法
就相当于抽象中的普通方法(实现类可以继承下去的,实现类就可以重写该方法)
静态方法:static修饰的方法
只能采用接口名去调用

接口的应用:

类和类之间:单继承
类和接口之间:多实现
接口和接口之间:多继承
语法:interface Fly extends MyInterface,MyInter
注意:Fly的实现类只需要实现Fly接口以及其以上所有接口中的所有抽象方法

接口的知识点

定义:访问修饰符 interface 接口名{}
公有的和缺省的
特性:
a.接口的所有的属性默认都是公有的静态变量
b.接口中的所有方法都是默认的抽象方法
c.如何使用接口
应该通过子类(实现类)去使用
使用方法:实现类 implement 接口
实现类需要实现接口中所有的抽象方法
d.接口中的可以实例化对象吗?不可以
e.接口中有构造器吗?没有
f.一个类的实现的接口可以有N个
使用方法:实现类需要实现所有接口中的所有方法
g.一个类中实现了N个接口,还可以为其设置父类吗?可以

枚举

JDK1.5之前的枚举实现方法:
一个类只提供有限个对象
a.构造器私有化
b.对外提供若干个公有的静态的本类类型的常量对象
JDK1.5之后引入的枚举类型:
采用enum修饰的类:
特性:
a.构造器默认的就是私有的
b.在枚举的首行直接写对象的名,如果是多个对象,采用逗号隔开
c.如果想要采用构造器对属性赋值的话,需要在常量对象名后追加小括号(传递参数)
枚举类型默认是enum类
枚举的常用方法(来自于enum类)
toString() 返回对象名(枚举可以选择对其进行重写)
name() 返回对象名(final修饰)
Ordinal 返回该对象的索引位置
static values() 返回枚举类中的所有的对象
static valueOf(String name)根据对象名获取枚举对象

枚举的扩展

枚举可以加()构造器
{ } 实例方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值