自己在网上找的试题和答案,希望能对像我一样即将要找工作的同学有所帮助
1、Java中的属性和字段有什么区别?
答:
Java中的属性,通常可以理解为get和set方法。而字段,通常叫做“类成员”。这两个概念是完全不同的。属性只局限于类中方法的声明,并不与类中其他成员相关。
例如:
void setA(String s){}
String getA(){}
当一个类中拥有这样一对方法时,我们可以说,这个类中拥有一个可读写的a属性(注意是小写a)。如果去掉了set的方法,则是可读属性,反之亦然。
类成员(字段),通常是在类中定义的类成员变量,例如:
public class A{
private String s = "123";
}
我们可以说A类中有一个成员变量叫做s。
2、C/C++你更熟悉那个?C++中的虚函数用在什么地方?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);
}
}