首页 > 基础资料 博客日记
JAVA继承多态接口
2023-07-31 16:56:34基础资料围观255次
什么是继承
-
继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在
子类中重新定义,以及追加属性和方法
-
实现继承通过哪个关键字
-
通过extends关键字实现继承,格式: class 子类 extends 父类 { }
-
继承后有什么好处
-
继承可以让类与类之间产生关系,子父类关系
-
产生子父类后,子类则可以使用父类中非私有的成员
-
-
好处1:提高了代码的复用性(多个类相同的成员可以放到同一个类中)
-
好处2:提高了代码的维护性(如果方法的代码需要修改,修改一处即可)
-
弊端:继承让类与类之间产生了关系,类的耦合性增强了,当父类发生变化时子类实现也
不得不跟着变化,削弱了子类的独立性
-
继承的特点是:
-
Java中类只支持单继承,不支持多继承
-
错误范例:class A extends B, C { }
-
Java中类支持多层继承
权限修饰符
修饰符 | 同一个类中 | 同一个包中子类无关类 | 不同包中子类的子类 | 不同包的无关类 |
---|---|---|---|---|
private | √ | |||
默认 | √ | √ | ||
protected | √ | √ | √ | |
public | √ | √ | √ | √ |
fianl关键字的作用
final修饰类: 该类不能被继承(不能有子类,但是可以有父类)
final修饰方法: 该方法不能被重写
final修饰变量: 表明该变量是一个常量,不能再次赋值 变量是基本类型: 数据值不能发生改变
变量是引用类型: 地址值不能发生改变,但是地址里面的内容是可以发生改变的
1.2 多态
-
概念:同一个对象,在不同时刻表现出来的不同形态
-
多态的前提条件有哪些
要有继承/实现关系
要有方法重写
要有父类引用指向子类对象
-
多态中成员变量/ 方法的的访问特点
变量:编译看左边、运行看左边
方法:编译看左边、运行看右边(编码实现)
-
多态的好处和弊端
好处1:提高了代码的扩展性
好处2:定义方法时,如果将父类型作为参数,在使用方法时,可以传递任意子类对象
弊端:不能使用子类特有的成员
-
多态中的向上转型
父类引用指向子类对象其实就是向上转型。例如:
Animal a = new Dog();
-
多态中的向下转型
将父类型的引用转换成具体的子类对象。转换格式:
子类 对象名 = (子类)父类引用;
-
风险和解决方案 如何避免强转可能会出现的问题
关键字 instanceof
变量名 instanceof 类型
1.3抽象类入门
抽象方法
将共性的行为(方法)抽取到父类之后,发现该方法的实现逻辑无法在父类中给出具体明确,该方法就可以定义为抽象方法
格式: public abstract 返回值类型 方法名(参数列表);
抽象类
如果一个类中存在抽象方法,那么该类就必须声明为抽象类
格式: public abstract class 类名{ }
抽象类注意事项
1.抽象类不能实例化
2.抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类
3.抽象类可以有构造方法
抽象类的子类
-
要么重写抽象父类中所有的抽象方法
-
要么子类本身也是一个抽象类
2.1 接口
3.1接口的概述
-
接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。
Java中接口存在的两个意义
用来定义规范
用来做功能的拓展
接口的特点:
接口用关键字interface修饰
public interface 接口名 {}
类实现接口用implements表示
public class 类名 implements 接口名 {}
接口不能实例化
-
我们可以创建接口的实现类对象使用
接口的子类
-
要么重写接口中的所有抽象方法
-
要么子类也是抽象类
2.2 接口的成员特点
-
成员特点
成员变量,只能是常量
默认修饰符:public static final
-
构造方法
没有,因为接口主要是扩展功能的,而没有具体存在
-
成员方法
只能是抽象方法
默认修饰符:public abstract
类和接口的关系
类与类的关系
-
继承关系,只能单继承,但是可以多层继承
类与接口的关系
-
实现关系,可以单实现,也可以多实现,还可以在继承一个类的同时实现多个接口
接口与接口的关系
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:jacktools123@163.com进行投诉反馈,一经查实,立即删除!
标签:
上一篇:Java数据类型
下一篇:Java性能优化实践p73