面试题

面向对象特征:   封装   继承   多态

多态好处:可扩充 ,可替换  ,灵活   简洁

实现多态方式:1.继承父类 重写方法   2.  接口  3.同一个类中 方法的重载

接口意义:  不影响主题程序的情况下  拓展新功能,  灵活 

接口和抽象类的区别

比较抽象类接口
默认方法 抽象类可以有默认的方法实现 java 8之前,接口中不存在方法的实现.
实现方式 子类使用extends关键字来继承抽象类.如果子类不是抽象类,子类需要提供抽象类中所声明方法的实现. 子类使用implements来实现接口,需要提供接口中所有声明的实现.
构造器 抽象类中可以有构造器, 接口中不能
和正常类区别 抽象类不能被实例化 接口则是完全不同的类型
访问修饰符 抽象方法可以有public,protected和default等修饰 接口默认是public,不能使用其他修饰符
多继承 一个子类只能存在一个父类 一个子类可以存在多个接口
添加新方法 想抽象类中添加新方法,可以提供默认的实现,因此可以不修改子类现有的代码 如果往接口中添加新方法,则子类中需要实现该方法.

 

==和equals区别:

 

  “==“操作符专门用来比较两个变量的值是否相等,“equals“方法是用于比较两个独立对象的内容是否相同。

  ==   是比较符   equals   是一个方法

&和&&的区别:

  &和&&都是逻辑与 的运算符,  代表和,当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。

  &&有短路功能  当第一个表达式是false时,那么不计算后面的表达式

final,finally,finalize区别

  final:修饰符,终止  如果一个类被修饰为final,那么该类不能生成子类  不那个被继承 , 所以一个类不能用abstar和final同时声明, 将变量生成final时候,可以保证在使用中不  被改变

  finally:再异常处理时提供 finally 块来执行任何清除操作  在finally的方法块中的代码总是会被执行

  finalize:

HaseMap和Hashtable区别

  都是属于Map接口

  HashMap:没有分类或排序   允许一个null值或多个null值

  Hashtable:不允许null值  比hashMap慢  属于同步   安全性高

sellp()和wait()区别

  sellp():指让线程睡眠一段时间,当时间到达后,线程不一定会立即执行,因为其他线程可能真该运行除非醒来线程具有更高的优先级

  wait():会让线程暂停,进入等待状态 直到等待时间到 或者 被唤醒

override和overload区别

  是多态性的具体体现

  overload:一个类中的多态性体现

  override: 父类和子类多态性体现

error和exception区别

  error表示恢复起来不是不可能 但很困难  例如内存溢出

  exception:表示设计或实现错误  程序能解决

常见的异常

 

 

 

 

posted @ 2021-03-11 20:33  码中自有黄金屋  阅读(47)  评论(0)    收藏  举报