java方法重写,多态,抽象类与接口

一.方法重写
在继承的情况下,子类的方法满足以下条件,称为方法重写
1.方法名相同
2.参数列表相同
3.返回值类型相同或者是父类返回值的子类
4.访问修饰符的权限不能小于父类方法
5.抛出的异常不能多于父类(严于父类)
构造方法不能被重写
方法重写与方法重载的区别于联系

在这里插入图片描述

二.多态
1.概念多态是同一个行为具有多个表现形式和形态的能力
子类对象引用父类类型
父类作为参数
父类类型作为返回值
方法重写是多态的基础.
2.向上转型
子类向父类的转换称为向上转型
<父类型><引用变量名>=new<子类型>();
转换规则:
(1)讲一个父类的引用转换成一个子类对象称为向上转型,系统会自动转型
(2)此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,而不是父类的方法
(3)此时通过父类引用变量无法调用子类特有的方法,只能调用继承自父类的方法或者重写的方法
3.向下转型
将父类类型转换成子类类型,称为向下转换,此时需要进行强制类型转换.
<子类型><引用变量名>=(<子类型>)<父类型的引用变量>

三.抽象类
1.抽象方法:被abstract关键字修饰的方法称为抽象方法,抽象方法所在的类必须别定义为抽象类
[访问修饰符]abstract<返回类型><方法名>([参数列表]);
抽象方法没有方法体
2.抽象类
在java中,被关键字abstract修饰的类称为抽象类
abstract class <类名>{

}
抽象类不能被实例化

四.接口
接口的语法格式:
public interface 接口名{
//接口成员
}
和抽象类不同,定义接口只能用interface修饰符,访问修饰符只能是public,且可选
接口成员可以是全局常量和公共的抽象方法
与抽象类一样,使用接口也必须通过子类,子类通过implements关键字实现接口
实现接口的语法格式
public 类名 implements 接口名{
实现方法
普通方法
}
实现接口的类必须实现接口中的所有抽象方法,接口的实现允许包含普通方法

五.面向对象的设计原则
1.摘取代码中变化的行为,形成接口
2.多用组合,少用继承
3.针对接口编程,不依赖于具体实现
4.针对扩展开放,针对改变关闭

接口的典型例题: 用接口模拟一个人进门和出门
1.首先新建一个抽象类Door,其中包括两个抽象方法,“开门和关门”

在这里插入图片描述

2.通过关键字interface创建接口 Lock,其中包括两个抽象方法"开锁和关锁"

在这里插入图片描述

3.创建继承Door并实现接口的类ToLock

在这里插入图片描述

4.创建执行 开关门 操作的类OpenDoor

在这里插入图片描述

5.测试 程序执行结果
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值