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

127 阅读2分钟

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

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

640 (2).jpg

抽象类接口晨考

1.写出抽象类的所有特点

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

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

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

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

2.写出接口的所有特点

1.接口中默认都是全局抽象方法 不管是否书写均使用public abstract修饰

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

3.实现类(子类)必须重写接口中所有的抽象方法,除非实现类是抽象类或者也是接口

4.接口中不能书写普通属性(接口中默认都是全局静态常量,不管是否书写均使用public static final修饰)、普通方法、静态方法、构造方法

3.接口和抽象类的区别是什么?

以上两题的第四点

当你关注事物的本质,使用抽象类

当你关注某个功能,使用接口

4.final关键字可以修饰哪些内容,分别有什么含义

属性: 表示为常量,其值在定义以后不能发生改变。名称全部大写,多个单词之间使用下划线分割,通常在定义的时候直接赋值,或者在构造方法中赋值。

基本数据类型,值不能改变。

引用数据类型,不能指向新的地址,地址值不能改变。

方法: 表示此方法不能被重写

类:表示此类不能被继承

5.java中支持多继承吗?

不支持,Java是单根继承,一个类只能有一个直接父类,但是我们可以通过接口继承多个接口的方式实现类似多继承的效果

6.什么是开闭原则

程序对扩展开放,对修改源代码关闭

7.如何理解面向对象编程?

万物皆对象,将自然界中的任何事物都理解为对象,通过分析其特征和行为,在Java类中使用属性和方法将其进行呈现,再通过new对象的方式具体化。在程序中操作的对象对应的就是现实世界的实体

8.多态向上转型三种情况?

1.父类作为形参,实参为子类类型

2.父类作为声明返回值,实际返回值为子类类型

3.父类类型的集合、数组,元素为子类类型