Java学习笔记(八)

wgh123 / 2023-04-28 / 原文

1、什么是多态?

多态就是指同一方法因为调用对象的不同而表现的结果不同。多态跟属性无关,只跟方法有关。

使用多态是为了提高代码的扩展性。他有三个要素:继承、重写、父类引用指向子类对象。

2、什么是接口?

接口(Interface)是一种抽象类型,它定义了一组方法的声明,但没有实现这些方法的具体实现。接口定义了一个类应该具有的方法,但是并不提供这些方法的实现。类可以实现一个或多个接口,并实现接口中定义的方法。

接口的特点:(1)接口中只定义了方法的声明,没有方法体,也没有成员变量。

      (2)接口中的方法默认是public和abstract的,可以省略这些修饰符。

      (3)类可以实现一个或多个接口,并实现接口中定义的方法。类要实现接口中的所有方法。接口可以继承其他接口,可以多重继承。

      (4)接口不能被实例化,但是可以定义接口变量来引用实现了该接口的对象。

3、引用数据类型的理解?

  • 除了基本数据类型之外 ,凡是能合法存在数据类型位置的,都是引用数据类型。
  • 可以让参数类型的选择更灵活:多态

4、请谈谈你对参数传递过程的理解

(1)基本数据类型传递

a. 当是基本数据类型时,在内存中存放的是真正的值

b. 当是基本数据类型作为参数进行传递时,实参传递给形参的是真正的值,也就是:相当于复制一份。

c. 当另一个方法中局部变量的值发生改变,不会对原来方法中局部变量的值更改,因为它们都是独立的,没有影响。

(2)引用数据类型传递

a. 当是引用数据类型时间在内存中存放的是地址

b. 当引用数据类型作为参数进行传递时,实参传递给形参的是地址,也就是:实参与形参存放同一个地址,指向同一个对象,也就是说:当另一个方法中对象

的属性值发生改变,对原来方法中对象的属性值有影响

5、对变量划分的理解

6、什么时候需要进行向下转型

当构成多态时,如果访问子类中独有的属性或者独有的方法,则就必须进行向下转型,也叫做强制类型转换。

7、多态的注意事项

只有方法才会具备多态,而成员属性不具备多态。