Java面试

Posted r016

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试相关的知识,希望对你有一定的参考价值。

抽象:抽象是将一类对象的 共同特征总结出来构造类的过程。

继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。

封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。

多态:同一个行为 具有的不同表现形式或形态的能力。多态分为编译时的多态性和运行时的多态性。方法重载实现的是编译时的多态性,而方法重写实现的是运行时的多态性。

           多态的实现途径有三种:重写、重载、接口实现。

接口:是一种无法被实例化,但可以被实现的抽象类型,是抽象方法的集合。

方法的重载和重写有什么区别?

        重写是指子类继承父类,重写父类的方法(子类方法的参数列表和返回值类型,必须与父类的方法一致);

        重载是指在一个类中,可以有多个重名的方法,方法名形同,但是形参列表不同(返回值可以形同,也可以不同)

抽象类和接口有什么区别?

       抽象类当中可以有普通方法,必须有抽象方法,可以有成员变量,不可以被实例化;

       接口当中只能有抽象方法,不能有普通方法,可以有静态变量,不能被实例化;

       一个类可以实现多个接口,但只能实现一个抽象类。

JDK:Java开发者工具包

JRE:jJava运行环境

JVM:Java虚拟机   一种能够运行Java字节码的虚拟机

面向对象(oop):面向对象是对面向过程的封装,封装类的属性和方法

public:公有的,任何类都可以访问

protected:受保护的,同一个包的类可以访问,不同包的子类可以访问

友好的:同一个包的类可以访问

private:私有的,在同一个类中才能访问

数组和链表有什么区别?

       数组会在内存当中开辟一块连续的存储单元,需要指定长度

              数组当中的每一个元素都有索引,查询的话,查询的话通过索引可以直接定位到某一个元素,效率很高,但是进行删除的话,数组会进行移动,所以效率很低

       链表不需要连续的存储单元,链表中的上一个元素通过指针指向下一个元素,所以链表结构进行查询的话,头部尾部比较快,中间元素查找速度比较慢,但是删除的话,只需要删除前后指针,重新建立指针就可以了,所以删除的性能很高。

 

以上是关于Java面试的主要内容,如果未能解决你的问题,请参考以下文章

面试基础题

关于java面试

Java面试题,Java面试题及答案,2021最新的,都整理好了

java面试题

java面试会问啥

java程序员面试的问题?