锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

面试宝典2018

时间:2023-06-28 15:07:00 30ry7u电子继电器

Java基础部分

1、一个".java"源文件能否包括多个类别(不是内部

)?有什么限制?

答:可以有多个类别,但只有一个 public 的类,并且 public 类名必须与文件名相一致。

2Java 有没有 goto?

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

3、说说&&&的区别。

答:a.&&&可用作逻辑和运算符,表示逻辑与(and),当运算符两侧的表达结果都是 true , 整个运算结果为 true,否则,只要有一方为 false,则结果为 false

b.&&还具有短路功能,如果第一个表达式是 false,则不再计算第二个表达式

c.&也可作为位运算符使用,&操作符两侧的表达式不是 boolean 类型时

&nbs;

4、在 JAVA 中如何跳出当前的多重嵌套循环?

使用带有标号的 break 语句

 

5switch 语句能否作用在 byte ,能否作用在 long ,能 否作用在 String ?

答:a.byte可以,自动转换。

   b.long不可以

   c.jdk1.7之后String是可以的

   解析:switch后必须:整数表达式或者枚举常量,byte,short,char 都可以隐含转换为 int

6short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1; 有什么错?

答:对于 short s1 = 1; s1 = s1 + 1; 由于 s1+1 运算时会自动提升表达式的类型,所以结果是 int ,再赋值 给 short 类型 s1 ,编译器将报告需要强制转换类型的错误。

对于 short s1 = 1; s1 += 1;由于 += java 语言规定的运算符,java 编译器会对它进行特殊处理,因此 可以正确编译。

7char 型变量中能不能存贮一个中文汉字?为什么?

答、char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字,所以,char 型变量 中当然可以存储汉字。必须是它收录的。

8、用最有效率的方法算出 2 乘以 8 等於几?

答:

2 << 3(左移3位相当于乘以23次方,右移3位相当于除以23次方)。

9、使用 final 关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?

答:使用 final 关键字修饰一个变量时,是指引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。

10"=="equals 方法究竟有什么区别?

答:==用来比较内存地址的值

   equals用来比较两个独立对象的内容是否相同

11、静态变量和实例变量的区别?

答:

a.静态变量前要加 static 关键字,而实例变量前则不加。

b.静态变量可以直接用类名.也可以用对象.

c.实例变量只能用对象.

d.类的静态变量内存中只有一份

12、是否可以从一个 static 方法内部发出对非 static 方法的 调用?

答:不可以。

13Integer int 的区别

答:int是原始数据类型,Integer是它的包装类。

   包装类有属性和方法,还可以判断是否为空。

14Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

答:round是四舍五入取整。12   11

15、下面的代码有什么不妥之处?

1. if(username.equals(zxx){}

2. int x=1;

   return x==1?true:false;

答:第一题:有可能出现空指针异常

   第二题:永远都是true

16、请说出作用域 public,private,protected,以及不写时的区别

答:a.它们是访问修饰符

   b.public可以跨包访问

     protected可以跨包访问必须是其子类

 不写  同包访问

 private 同类访问

 

17Overload Override 的区别。Overloaded 的方法是否 可以改变返回值的类型?

答:

a.Overload方法重载,Override方法重写

b.方法重载指的是同名不同参,方法名相同,参数不同(参数个数,参数类型,参数顺序).不一定有继承关系。

c.方法重写指的是同名又同参,返回类型也要相同。必须存在继承中。

d.方法重载时,返回类型可以不同。

 

18、构造器 Constructor 是否可被 override?

答:构造方法不可以被重写,因为构造方法不能被继承,但可以被重载。

 

19、接口是否可继承接口? 抽象类是否可实现(implements) 接口? 抽象类是否可继承具体类(concrete class)? 抽象类中 是否可以有静态的main方法?

答: 接口可以继承接口,抽象类可以实现接口,抽象类中可以有静态的main方法。

20、写 clone()方法时,通常都有一行代码,是什么?

答:

super.clone();

因为首先要把父类中的成员复制到位,然后才是复制自己的成员。

 

21、面向对象的特征有哪些方面

答: 面向对象的编程语言有封装、继承 、多态、抽象等 4 个主要的特征。

 

22java 中实现多态的机制是什么?

答: 父类的引用指向子类的对象。程序调用方法在运行期才动态绑定。

23abstract class interface 有什么区别?

答:

a.含有 abstract 修饰符的 class 即为抽象类,abstract 类不能创建的实例对象。

b.抽象类可以有构造方法,接口中不能有构造方法。

c.抽象类中可以有普通成员变量,接口中只有静态常量。

d.抽象类中可以包含非抽象的方法,接口中的方法只能是抽象的。

e.接口中的抽象方法只能是 public 类型的

f.接口中不能有静态方法

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

 

24abstract method 是否可同时是 static,是否可同时是 native,是否可同时是 synchronized?

答:

a.abstract method 不可同时是 static

b.abstract method 不可同时是 native

c.abstract method 不可同时是 synchronized

 

 

25、什么是内部类?Static Nested Class Inner Class 的不 同。

答:Static Nested Class是静态嵌套类,Inner Class是内部类。

a.内部类就是在一个类的内部定义的类,内部类中不能定义静态成员

b.在方法外部定义的内部类前面可以加上 static 关键字,从而成为 Static Nested Class,它脱离了类的实例,内部类必须先创建实例。

 

26、内部类可以引用它的包含类的成员吗?有没有什么限制?

答:

a.如果不是静态内部类,那没有什么限制

b.静态内部类不能访问外部类的成员

 

27Anonymous Inner Class (匿名内部类) 是否可以 extends(继承)其它类,是否可以 implements(实 现)interface(接口)?

 

答:匿名内部类可以继承其他类或实现其他接口。

28super.getClass()方法调用

下面程序的输出结果是多少?

import java.util.Date;

public class Test extends Date{

public static void main(String[] args) { new Test().test();

}

public void test(){ System.out.println(super.getClass().getName());

} }

答案是Test,因为getClass()Object 类中定义成了 final,

子类不能覆盖该方法.

补充:getClass().getSuperClass().getName();得到父类名

29String 是最基本的数据类型吗?

答:

它不是基本数据类型,它是引用数据类型。

java.lang.String 类是 final 类型的,因此不可以继承这个类、不能修改这个类。

30String s = "Hello";s = s + " world!";这两行代码执行后,

原始的 String 对象中的内容到底变了没有?

答:没有。

31、是否可以继承 String ?

答:String 类是 final 类故不可以继承。

 

32String s = new String("xyz");创建了几个 String Object? 二者之间有什么区别?

答:两个或一个,xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现 多少遍,都是缓冲区中的那一个。new String 每写一遍,就创建一个新的对象,它一句那个常 量”xyz”对象的内容来创建出一个新 String 对象。如果以前就用过’xyz,这句代表就不会创 建”xyz”自己了,直接从缓冲区拿。

 

  1、栈区(stack)—   由编译器自动分配释放   ,存放函数的参数值,局部变量的值等。其  

  操作方式类似于数据结构中的栈。  

  2、堆区(heap)   —   一般由程序员分配释放,   若程序员不释放,程序结束时可能由OS回  

     。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。  

  3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的  

  全局变量和静态变量在一块区域,   未初始化的全局变量和未初始化的静态变量在相邻的另  

  一块区域。   -   程序结束后由系统释放。  

  4、文字常量区   —常量字符串就是放在这里的。   程序结束后由系统释放  

  5、程序代码区—存放函数体的二进制代码。  

 

 

33String StringBuffer 的区别

答:

a.它们可以储存和操作字符串

b.String 类提供了数值不可改变的字符串。而这个 StringBuffer 类提供 的字符串进行修改。

c.String 覆盖了 equals 方法和 hashCode 方法,StringBuffer 没有覆盖 equals 方法和 hashCode 方法,所以,StringBuffer 对象存储进 Java 集合类中时会出现问题。

 

34、如何把一段逗号分割的字符串转换成一个数组?

答:有两种

a. 字符串.split(,);

b. StingTokenizer

StringTokenizer tokener = new StringTokenizer("a,b,c", ",");

String[] result = new String[tokener.countTokens()];

int i = 0;

while (tokener.hasMoreElements()) {

result[i++] = tokener.nextToken();

}

 

35、数组有没有 length()这个方法? String 有没有 length()这 个方法?

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章