您的位置:首页 > 职场人生

常见Java面试知识点总结

2018-11-20 15:53 417 查看

[转载Java面试知识点总结]

1、方法覆盖与方法重载

  • **方法重载(Overloading):**如果有两个方法的方法名相同,但参数不一致,哪么可以说一个方法是另一个方法的重载。

  • Java中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的情况。重载Override是一个类中多态性的一种表现。
    (两同一不同:同类同不同参数)

  • 方法覆盖(Overriding): 在一个类中创建的方法与父类中方法的名字、 返回类型和参数表相同,覆盖是针对两个类说的,而且必须是子类(或孙类,孙孙类等)覆盖掉父类的方法

  • 方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名,参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。在java中,子类可继承父类的方法,则不需要重新编写相同的方法。但有时子类并不想原封不动继承父类的方法,而是想做一定的修改,这就采用方法重写。方法重写又称方法覆盖。

2、9. 接口和抽象类的区别是什么?

  • 从设计层面来说,抽象是对类的抽象,是一种模板设计,接口是行为的抽象,是一种行为的规范。
  • Java提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于:接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法;
  • 类可以实现很多个接口,但是只能继承一个抽象类;
  • 类可以不实现抽象类和接口声明的所有方法,当然,在这种情况下,类也必须得声明成是抽象的;
  • 抽象类可以在不提供接口方法实现的情况下实现接口;
  • Java接口中声明的变量默认都是final的。抽象类可以包含非final的变量;
  • Java接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public;
  • 接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含main方法的话是可以被调用的。也可以参考JDK8中抽象类和接口的区别。
  • 当一个类,同时继承了某个类,并且也实现了某些接口的时候,必须要将继承的类写在第一个(如果一个类同时继承了父类和接口的时候,要把父类写在最前面)
  • 当多个类,都具有某个或某几个功能时(方法),但是这几个类型又不属于相同的系列(这几个类型没有共同的父类,就不能用抽象类。),所以这时,为了实现多态就可以考虑把这几个类型共有的方法提取到一个接口中,让这几个类型分别实现该接口

3、 进程与线程的区别?

  • 进程是执行着的应用程序,是程序的一种动态形式,是CPU、内存等资源占用的基本单位,而且进程之间相互独立,通信比较困难,进程在执行过程中,包含比较固定的入口,执行顺序,出口;
  • 线程是进程内部的一个执行序列,隶属于某个进程,一个进程可以有多个线程,线程不能占有CPU、内存等资源,而且线程之间共享一块内存区域,通信比较方便,线程的入口执行顺序这些过程被应用程序所控制。

在Java中,接口可理解为对象间相互通信的协议。接口在继承中扮演着很重要的角色。接口只定义派生要用到的方法,但是方法的具体实现完全取决于派生类。

常用的转义字符:

"\b" (退格)
"\f" (换页)
"\n" (换行)
"\r" (回车)
"\t" (水平制表符(到下一个tab位置))
"\' " (单引号)
"\" " (双引号)
"\\" (反斜杠)

类与对象

  • 对象:对象是类的一个实例(对象不是找个女朋友),有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。

  • 类:类是一个模板,它描述一类对象的行为和状态。

    如动物是一个,里面的对象有狗,狗有颜色、品种等属性,同样的对象中狗有睡觉、跑步等方法

构造方法

每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法。

在创建一个对象的时候,至少要调用一个构造方法。构造方法的名称必须与类同名,一个类可以有多个构造方法。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: