继承

Java中提供一个关键字extends,用这个关键字,我们可以让一个类和另一个类建立起继承关系。

public class son extends father {}


1.继承的好处

1)可以把多个子类中重复的代码抽取到父类中,提高代码的复用性。

2)子类可以在父类的基础上,增加其他的功能,使子类更加强大。

注意:

子类不能选择性继承父类;

Java不支持多重继承,但一个类可以实现多个接口,从而克服单继承的缺点;

构造方法不会被子类继承,但可以从子类中调用父类的构造方法。

2.继承的特点

子类可以继承父类的属性和行为,但是子类不能继承父类的构造器。 Java是单继承模式:一个类只能继承一个直接父类。 Java不支持多继承、但是支持多层继承。 Java中所有的类都是Object类的子类。

解释:子类只能继承一个直接父类//一个儿子只能有一个父亲

支持多层继承//父亲的父亲叫爷爷

public class son extends father {}
public class father extends grandfather {}


3.继承后访问成员的访问特点

1)就近原则

优先在子类范围内找,然后在父类范围内查找。

如果出先重名成员,会优先使用子类的。如果在子类中想要使用父类的重名成员,使用super关键字。

格式:super.父类成员变量/父类成员方法。

this.子类成员变量/子类成员方法。

java多级评论 java支持多级继承吗_java

 

4.方法重写

在继承体系中,子类出现了和父类中一模一样的方法声明,我们就称子类这个方法是重写的方法。 方法重写的应用场景 当子类需要父类的功能,但父类的该功能不完全满足自己的需求时。 子类可以重写父类中的方法。

注意:重写的方法具有与其所重写的方法相同的名称、参数数量、类型和返回值。

多态

1.多态的概念

多态是方法或对象具有多种形态,是面向对象的第三大特征。

多态的前提是两个对象存在继承关系,多态是建立在封装的继承基础之上的。

2.多态的规则

1)一个对象和编译类型与运行类型可以不同。

2)编译类型在定义对象时,就确定了不能被改变,而运行内存是可以变化的。

3)编译类型看定义对象时=的左边,运行内存看=的右边。

3.多态的转型

1)向上转型

本质:父类的引用指向子类的对象。

语法:

父类类型 引用名 = new 子类类型(); //右侧创建一个子类对象,把它当作父类看待

2)向下转型

本质:一个已经向上转型的子类对象,将父类引用转为子类引用

语法:

子类类型 引用名 = (子类类型) 父类引用; //用强制类型转换的格式,将父类引用类型转为子类引用类型


接口

1.什么是接口?

接口是一种特定的语法和结构,是一系列方法的声明,是一些方法特征的集合。

声明接口的关键字是interface。

public interface usb{}//定义一个接口
public class couputer implements usb{}//创建一个类实现接口


2.定义接口的注意事项

接口中允许定义变量

接口中允许定义抽象方法

接口中允许定义静态方法

接口中允许定义默认方法

接口不允许直接实例化

接口可以是空的,既不定义变量,也不定义方法

接口的抽象方法不能生private、protected或者final。

3.接口的好处

1)使某些实现类具有我们想要的功能。

2)Java 原则上只支持单一继承,但通过接口可以实现多重继承的目的。

异常

1.什么是异常

异常是指程序执行过程在的不正常情况

异常的作用:增强程序的健壮性。

异常在java中以的形式存在,每一个异常类都可以创建异常对象。

2.异常的分类

异常分为编译时异常运行时异常

所有异常都是在运行阶段发生的。因为只有在程序运行阶段才可以new对象。

因为异常的发生就是new异常对象。

3.异常的处理方法

try...catch : 介绍 :
try...catch 的方式就是捕获异常。
捕获异常:Java中对异常有针对性的语句进行捕获
try...catch...finally: finally:常规情况下 finally 代码块中的代码, 是一定要执行的 !!!
try...catch ....catch.....catch.... 1. 可以使用多个catch捕获异常, 但是父类的异常要放在最后 1. 多个异常直接, 也可以使用 | 进行隔开