一些面试题的解答

来源:互联网 发布:iphone4id锁破解软件 编辑:程序博客网 时间:2024/05/01 18:15

自己在网上找的试题和答案,希望能对像我一样即将要找工作的同学有所帮助


1、Java中的属性和字段有什么区别?

答:

Java中的属性,通常可以理解为get和set方法。而字段,通常叫做“类成员”。这两个概念是完全不同的。属性只局限于类中方法的声明,并不与类中其他成员相关。

例如:
void setA(String s){}
String getA(){}
当一个类中拥有这样一对方法时,我们可以说,这个类中拥有一个可读写的a属性(注意是小写a)。如果去掉了set的方法,则是可读属性,反之亦然。
类成员(字段),通常是在类中定义的类成员变量,例如:
public class A{
private String s = "123";
}
我们可以说A类中有一个成员变量叫做s。


2C/C++你更熟悉那个?C++中的虚函数用在什么地方?JAVA中的虚函数呢?

答: Java虚函数
虚函数的存在是为了多态。
C++中普通成员函数加上virtual关键字就成为虚函数
Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。

如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数

3、你对数据库中存储过程了解多少?

     存储过程存储在数据库内,可由应用程序通过一个调用执行,而且允许用户声明变量、有条件执行以及其它强大的编程功能。 
     存储过程可包含程序流、逻辑以及对数据库的查询。它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。 
     可以出于任何使用 SQL 语句的目的来使用存储过程,它具有以下优点: 
     可以在单个存储过程中执行一系列 SQL 语句。 
     可以从自己的存储过程内引用其它存储过程,这可以简化一系列复杂语句。 
     存储过程在创建时即在服务器上进行编译,所以执行起来比单个 SQL 语句快。


4、写算法生成随机4位数,要求每位数字不同

/** * Copyright (c) 2011 Trusted Software and Mobile Computing(TSMC) * All rights reserved. * Author: Jarg Yee <yeshaoting@gmail.com> * http://jarg.iteye.com/ */import java.util.*;/* *  */public class Four{public static void main(String[] args){int result = createNumber();System.out.println("result:" + result);}public static int createNumber(){int count =0;int result = 0;List<Integer> list = new ArrayList<Integer>();while(true){result = (int)(Math.random()*10);if(count==0){if(result!=0){list.add(result);count++;}}else{if(count==4)break;if(list.contains(result))continue;else{list.add(result);count++;}}}return list.get(0)*1000 + list.get(1)*100 + list.get(2)*10 + list.get(3);}}