Java核心面试题.docx

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java核心面试题

简答题Java核心1.基本语法1、一个.java源文件中是否可以包括多个类(不是内部类)?有什么限制答:可以有多个类,但只能有一个 public 的类,并且 public 的类名必须与文件名相一致。2、Java 有没有 goto?java 中的保留字,现在没有在 java 中使用。3、八种基本数据类型和包装类以及大小。八种基本数据类型 包装类 大小 byteByte 8位 -2^7 ~ 2^7-1 shortShort 16位 -2^15 ~ 2^15-1 intInteger 32位-2^31 ~ 2^31-1 long Long 64位 -2^63 ~ 2^63-1 floatFloat 32位 -2^31 ~ 2^31-1doubleDouble 64位-2^63 ~ 2^63-1 charCharacter 16位\u0000 ~ \uFFFF boolean Boolean 1位 4、说说和的区别。 和都可以用作逻辑与的运算符,表示逻辑与( and),当运算符两边的表达式的结果都为 true 时,整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式,例如,对于 if(str != null !str.equals(“”))表达式,当 str 为 null 时,后面的表达式不会执行,所以不会出现 NullPointerException 如果将改为,则会抛出 NullPointerException 异常。还可以用作位运算符,当操作符两边的表达式不是 boolean 类型时, 我们通常使用0x0f 来与一个整数进行运算,来获取该整数的最低4个 bit 位,例如, 0x31 0x0f 的结果为0x01。5、用最有效率的方法算出2乘以8等於几?2 3,因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 3。6.能被Switch的数据类型有哪些?在 switch( expr1)中, expr1只能是一个整数表达式或者枚举常量,所以能被Switch的数据类型有: byte,short,int,char。在jdk1.7之后String也可以。7、char 型变量中能不能存贮一个中文汉字?为什么?char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字, unicode编码占用两个字节,所以char类型的变量也是占用两个字节。一个char类型的大小为16位也就是两个字节所以能存储一个汉字2.面向对象8、Overload和Override(OverWrite)有什么区别?Overload 的方法是否可以改变返回值的类型?1)重载Overload是方法的重载,表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同,这些不同包括位置不同,个数不同,类型不同。2)重写 Override 是方法的重写,表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。3)Override子类覆盖父类的方法时,只能比父类抛出更少的异常和更小的异常,或者抛出父类抛出的异常的子异常。子类方法的访问权限只能和父类相同或者比父类的更大,不能更小。如果父类的方法是 private 类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。 覆盖的方法的返回值必须和被覆盖的方法的返回一致;4)Overload 与返回值类型和修饰符以及异常无关只要方法名相同形式参数不同即为重载。9、成员变量(全局变量)和局部变量的区别?1,定义的位置。局部变量定义在函数中,语句内。成员变量定义在类中。2,内存中的位置。局部变量存储在栈内存中。成员变量存储在堆内存中。3,初始化值。局部变量没有默认初始化值,必须赋值才可以使用。成员变量有默认初始化值。4,生命周期。局部变量一旦作用区域结束,就立刻释放。成员变量也称为实例(对象)变量,随着对象的出现而出现。随着对象的被回收而释放。10、静态变量 和实例变量的区别?在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象,其中的实例变量才会被分配空间,才能使用这个实例变量。静态变量不属于某个实例对象,而是属于类,所以也称为类变量,只要程序加载了类的字节码,不用创建任何实例对象,静态变量

文档评论(0)

dashewan + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档