专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 华为Java笔试题库,让大家面试机会增大

华为Java笔试题库,让大家面试机会增大

更新时间:2020-02-21 11:15:56 来源:动力节点 浏览2399次


华为Java笔试题库,让大家面试机会增大


  1.面向对象和面向过程的区别


  面向过程


  优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。


  缺点:没有面向对象易维护、易复用、易扩展


  面向对象


  优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护


  缺点:性能比面向过程低


  2.Java的四个基本特性(抽象、封装、继承,多态)


  抽象:就是把现实生活中的某一类东西提取出来,用程序代码表示,我们通常叫做类或者接口。抽象包括两个方面:一个是数据抽象,一个是过程抽象。数据抽象也就是对象的属性。过程抽象是对象的行为特征。


  封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行封装隐藏。封装分为属性的封装和方法的封装。


  继承:是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于抽取多类事物的共性。


  多态:允许不同类的对象对同一消息做出响应。方法的重载、类的覆盖正体现了多态。


  3.重载和重写的区别


  重载:发生在同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时。


  重写:发生在父子类中,方法名、参数列表必须相同,返回值小于等于父类,抛出的异常小于等于父类,访问修饰符大于等于父类;如果父类方法访问修饰符为private则子类中就不是重写。


  4.构造器Constructor是否可被override


  构造器不能被重写,不能用static修饰构造器,只能用public


  privateprotected这三个权限修饰符,且不能有返回语句。


  5.访问控制符public,protected,private,以及默认的区别


  private只有在本类中才能访问;


  public在任何地方都能访问;


  protected在同包内的类及包外的子类能访问;


  默认不写在同包内能访问。


  6.是否可以继承String类


  String类是final类故不可以继承,一切由final修饰过的都不能继承。


  7.String和StringBuffer、StringBuilder的区别


  可变性String类中使用字符数组保存字符串,privatefinalcharvalue[],所以string对象是不可变的。StringBuilder与StringBuffer都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,char[]value,这两种对象都是可变的。


  线程安全性String中的对象是不可变的,也就可以理解为常量,线程安全。AbstractStringBuilder是StringBuilder与StringBuffer的公共父类,定义了一些字符串的基本操作,如expandCapacity、append、insert、indexOf等公共方法。StringBuffer对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。StringBuilder并没有对方法进行加同步锁,所以是非线程安全的。


  性能每次对String类型进行改变的时候,都会生成一个新的String对象,然后将指针指向新的String对象。StringBuffer每次都会对StringBuffer对象本身进行操作,而不是生成新的对象并改变对象引用。相同情况下使用StirngBuilder相比使用StringBuffer仅能获得10%~15%左右的性能提升,但却要冒多线程不安全的风险。


  8.hashCode和equals方法的关系


       equals相等,hashcode必相等;hashcode相等,equals可能不相等。


  9.抽象类和接口的区别


  语法层次抽象类和接口分别给出了不同的语法定义。


  设计层次抽象层次不同,抽象类是对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。抽象类是自底向上抽象而来的,接口是自顶向下设计出来的。


  跨域不同抽象类所体现的是一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在"is-a"关系,即父类和派生类在概念本质上应该是相同的。对于接口则不然,并不要求接口的实现者和接口定义在概念本质上是一致的,仅仅是实现了接口定义的契约而已,"like-a"的关系。


  10.自动装箱与拆箱装箱:将基本类型用它们对应的引用类型包装起来;


  拆箱:将包装类型转换为基本数据类型;


  Java使用自动装箱和拆箱机制,节省了常用数值的内存开销和创建对象的开销,提高了效率,由编译器来完成,编译器会在编译器根据语法决定是否进行装箱和拆箱动作。


华为Java笔试题库,让大家面试机会增大


  以上就是动力节点Java培训机构小编介绍的“华为Java笔试题库,让大家面试机会增大”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


相关推荐


最新最全java面试题及答案(初级到高级)


史上最全的中高级JAVA工程师面试题及答案汇总


Java高级开发工程师面试题


2019史上最全java面试题题库大全800题


哪有资深java工程师面试题


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>