专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 互联网Java面试题基础

互联网Java面试题基础

更新时间:2020-03-28 13:16:17 来源:动力节点 浏览1819次


  1.空字符串的作用


互联网Java面试题基础


  如题所示,当进行s=s+i的时候,s在前和s在后输出的结果是相反的。空字符串在前时是正着输出,空字符串在后是逆着输出


  2.shorts1=1;s1=s1+1;有什么错?shorts1=1;s1+=1;有什么错?


  第一种情况,s1是short类型,在计算s1=s1+1时,前边是short型,后边是int型,不能自动转换。由于没有强转,要报类型错误。


  第二种情况,使用了+=这个java自带的运算符,java内部会对其进行处理,所以编译通过,不会报错。


  3.说说&和&&的区别。


  &和&&都表示与的意思,既表达式俩边都成立,结果才成立。


  &&是逻辑运算符,&&有短路作用,既当表达式左边为假时,不需要计算右边,整个的结果直接为假;&没有


  &是位运算符,&的左右俩边可以是布尔类型,也可以是数值;&&俩边只能是布尔类型


  4.Integer与int的区别


  int是八大基本数据类型之一,Integer是int的封装类。


  int的默认值是0,Integer的默认值是null,此时的0代表这个数赋值0,而null代表没接收到这个值


  Integer提供了与整数相关的操作,int没有


  5.==与equals的区别


  从表面上看,对于基本数据类型==是判断的值是否相等;对于引用数据类型是判断是否为同一个对象


  从本质上看,是看是否为一个引用地址

互联网Java面试题基础

  equals是判断值是否相等


  6.override(重写)和overload(重载)的区别


  重载是在一个类中,方法名相同,参数列表不同(参数类型和参数个数)的一种现象


  1.重载与返回值类型无关


  2.不能通过访问修饰符进行重载


  如下是重载:

互联网Java面试题基础

  重写是在父子类中,子类重写父类的方法,要求方法名与参数列表,返回值类型完全相同。子类重写父类规范要在子类的方法前加注解@Override


  1.重写的返回值类型可以改,但只能是父子类


  例如:


互联网Java面试题基础


  2.重写的访问修饰符得大于等于原来的


  3.不能重写私有方法


  4.参数列表的顺序与类型必须一样,变量名可不同


  7.接口与抽象类的区别


  抽象类是用abstract修饰的类,抽象类不能new对象。


  接口是比抽象类还抽象的“类”


  普通类:具体实现


  抽象类:规范(抽象方法),具体实现


  接口:规范(抽象方法)


  区别:


  1.抽象类中可以有抽象方法也可以有非抽象方法,接口中只能有抽象方法


  2.抽象类中可以有成员变量,接口中只能有常量,用publicstaticfinal修饰,默认可不写


  3.抽象类有构造方法,接口没有构造方法


  4.抽象类中的方法的访问修饰符可以是public,protected,默认;接口中方法的访问修饰符只能是public,并且默认值是publicabstract


  5.抽象类中可以有静态方法,接口中不能有静态方法。(static是类名直接调用,abstract是子类实现创建对象调用,如果一起修饰,自相矛盾了)


  6.一个类可以实现多个接口,只能继承一个抽象类


  8.JDK,JRE,JVM的联系与区别


  JDK是java开发工具包,JDK包括JRE,类库,java工具


  JRE是java运行环境,JRE包括JVM,JRE里有运行.class的java.exe


  JVM是java虚拟机,java虚拟机在执行字节码时,把字节码解释成具体平台的机器指令执行,这也是java语言跨平台的根源,是“一次编译,到处运行”的原因


  联系:JDK下的jre文件夹下有俩个文件夹lib和bin;在这里可以理解为bin就是jvm,lib就是类库;所以JRE=JVM+类库


  我们利用JDK开发属于自己的java程序,javac编译成字节码,在JRE上运行这些字节码,JVM解析这些字节码,最终映射到CPU指令集或OS的系统调用


  区别:


  JDK与JRE的区别:


  1.JDK有javac.exe;JRE没有


  2.JDK是开发环境,JRE是运行环境


  JRE与JVM的区别:


  1.JVM执行.class需要JRE下lib类库的支持(尤其是rt.jar)


  9.Strings=newString("xyz");创建了几个StringObject


  创建了俩个对象或一个对象,如果常量池中没有“xyz”第一次=在常量池中创建了一个字符串对象,第二次new又创建了一个字符串引用对象;如果常量池中有“xyz”,那就只是new的时候创建了一个对象。


  10.Java有没有goto?


  java中的保留字,现在在java中没有使用


互联网Java面试题基础


  以上就是动力节点java培训机构的小编针对“互联网Java面试题基础”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


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

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