Java面试题-Java基础(⑩)-抽象

94 阅读3分钟

Java面试题-Java基础(⑨)-抽象

Java面试题专栏---点击进入学习

640 (17).jpg

1.向上转型的表现形式,向上转型可以调用哪些方法?

  1. 父类作为形参,实参为子类类型
  2. 父类作为声明返回值,实际返回值为子类类型
  3. 父类类型的数组、集合,其元素为子类类型

向上转型可以访问子类继承父类或者重写父类的方法

2.描述向下转型,向下转型可以调用哪些方法?

将指向子类对象的父类类型的引用,强制转换为子类类型

向下转型可以访问子类独有的方法

3.==和equals的区别

==比较基本数据类型,比较值

==比较引用数据类型,比较地址

equals本身也比较地址,但是我们可以重写自定义比较规则

4.描述构造方法重载

同一个类中的构造方法,参数列表不同

5.static关键字可以修饰哪些内容,分别有什么特点

修饰属性: 静态属性,属于整个类,不属于任何对象,可以被此类的所有对象共享,内存中只存在一份,随着类的加载而初始化

修饰方法: 本类中直接访问,其他类通过类名加点访问

修饰代码块:随着类的加载而执行,多个静态代码块按照书写顺序执行,因为类只加载次,所以静态代码块也只执行一次。

6.instanceof关键字的用法

对象名 instanceof 类名

表示判断左侧的对象是否属于右侧的类型

7.抽象类的特点

1.抽象方法没有方法体,必须存在于抽象类中,均使用abstract修饰

2.抽象类不能直接new对象,必须通过new子类的方式创建对象

3.子类必须重写父类的所有抽象方法,除非子类也是抽象类

4.抽象类中可以书写普通属性、方法、构造方法、静态方法

8.值传递和引用传递的区别

基本数据类型传参属于值传递,传递是值的拷贝,值的副本,在方法体内对值的修改不会影响原变量

引用数据类型属于引用传递,传递的是一个地址,在方法体内根据地址对内容的修改会影响原变量

String是特殊的引用数据类型

9.分别说明方法重载和方法重写的特点

重载:同一个类,或者父子类之间的方法,名称相同,参数列表不同

重写: 子类重写父类方法,名称相同,参数列表相同,返回值相同或者是其子类,访问权限不能严于父类,实例方法不能被重写为静态方法,静态方法可以被继承,不能被重写不能声明、抛出比父类更多的异常