java面试题Word格式文档下载.docx
《java面试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java面试题Word格式文档下载.docx(31页珍藏版)》请在冰豆网上搜索。
//这里提供了一个供外部访问本class的静态方法,可以直接访问
publicstaticSingletongetInstance(){
returninstance;
}
}
第二种形式:
publicclassSingleton{
privatestaticSingletoninstance=null;
publicstaticsynchronizedSingletongetInstance(){
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次
//使用时生成实例,提高了效率!
if(instance==null)
instance=newSingleton();
returninstance;
}
}
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些
136、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
:
父类:
packagetest;
publicclassFatherClass
{
publicFatherClass()
{
System.out.println("
FatherClassCreate"
);
}
}
子类:
importtest.FatherClass;
publicclassChildClassextendsFatherClass
publicChildClass()
ChildClassCreate"
publicstaticvoidmain(String[]args)
FatherClassfc=newFatherClass();
ChildClasscc=newChildClass();
输出结果:
C:
\>
javatest.ChildClass
FatherClassCreate
ChildClassCreate
137、内部类的实现方式?
示例代码如下:
publicclassOuterClass
privateclassInterClass
publicInterClass()
InterClassCreate"
publicOuterClass()
InterClassic=newInterClass();
OuterClassCreate"
OuterClassoc=newOuterClass();
输出结果:
javatest/OuterClass
InterClassCreate
OuterClassCreate
再一个例题:
publicclassOuterClass{
privatedoubled1=1.0;
//insertcodehere
Youneedtoinsertaninnerclassdeclarationatline3.Whichtwoinnerclassdeclarationsare
valid?
(Choosetwo.)
A.classInnerOne{
publicstaticdoublemethoda(){returnd1;
B.publicclassInnerOne{
staticdoublemethoda(){returnd1;
C.privateclassInnerOne{
doublemethoda(){returnd1;
D.staticclassInnerOne{
protecteddoublemethoda(){returnd1;
E.abstractclassInnerOne{
publicabstractdoublemethoda();
说明如下:
一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。
故A、B错
二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;
returnd1出错。
故D错
三.非静态内部类的非静态成员可以访问外部类的非静态变量。
故C正确
四.案为C、E
Server端程序:
import.*;
importjava.io.*;
publicclassServer
privateServerSocketss;
privateSocketsocket;
privateBufferedReaderin;
privatePrintWriterout;
publicServer()
try
ss=newServerSocket(10000);
while(true)
socket=ss.accept();
StringRemoteIP=socket.getInetAddress().getHostAddress();
StringRemotePort="
:
"
+socket.getLocalPort();
Aclientcomein!
IP:
+RemoteIP+RemotePort);
in=newBufferedReader(new
InputStreamReader(socket.getInputStream()));
Stringline=in.readLine();
Cleintsendis:
+line);
out=newPrintWriter(socket.getOutputStream(),true);
out.println("
YourMessageReceived!
out.close();
in.close();
socket.close();
}catch(IOExceptione)
wrong"
publicstaticvoidmain(String[]args)
newServer();
};
Client端程序:
publicclassClient
Socketsocket;
BufferedReaderin;
PrintWriterout;
publicClient()
TrytoConnectto127.0.0.1:
10000"
socket=newSocket("
127.0.0.1"
10000);
TheServerConnected!
PleaseentersomeCharacter:
BufferedReaderline=newBufferedReader(new
InputStreamReader(System.in));
out.println(line.readLine());
in=newBufferedReader(newInputStreamReader(socket.getInputStream()));
System.out.println(in.readLine());
}catch(IOExceptione)
Wrong"
newClient();
用插入法进行排序代码如下
importjava.util.*;
classInsertSort
ArrayListal;
publicInsertSort(intnum,intmod)
al=newArrayList(num);
Randomrand=newRandom();
TheArrayListSortBefore:
for(inti=0;
i<
num;
i++)
al.add(newInteger(Math.abs(rand.nextInt())%mod+1));
al["
+i+"
]="
+al.get(i));
publicvoidSortIt()
IntegertempInt;
intMaxSize=1;
for(inti=1;
al.size();
i++)
tempInt=(Integer)al.remove(i);
if(tempInt.intValue()>
=((Integer)al.get(MaxSize-1)).intValue())
al.add(MaxSize,tempInt);
MaxSize++;
System.out.println(al.toString());
}else{
for(intj=0;
j<
MaxSize;
j++)
if
(((Integer)al.get(j)).intValue()>
=tempInt.intValue())
al.add(j,tempInt);
break;
TheArrayListSortAfter:
for(inti=0;
InsertSortis=newInsertSort(10,100);
is.SortIt();
代码如下:
classSplitString
StringSplitStr;
intSplitByte;
publicSplitString(Stringstr,intbytes)
SplitStr=str;
SplitByte=bytes;
TheStringis:
'
+SplitStr+"
;
SplitBytes="
+SplitByte);
publicvoidSplitIt()
intloopCount;
loopCount=(SplitStr.length()%SplitByte==0)?
(SplitStr.length()/SplitByte):
(SplitStr.length()/Split
Byte+1);
WillSplitinto"
+loopCount);
for(inti=1;
=loopCount;
if(i==loopCount){
System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
SplitStringss=newSplitString("
test中dd文dsaf中男大3443n中国43中国人
0ewldfls=103"
4);
ss.SplitIt();
希望大家补上,谢谢
142、可能会让你写一段Jdbc连Oracle的程序,并实现数据查询.
程序如下:
packagehello.ant;
importjava.sql.*;
publicclassjdbc
StringdbUrl="
jdbc:
oracle:
thin:
@127.0.0.1:
1521:
orcl"
StringtheUser="
admin"
StringthePw="
manager"
Connectionc=null;
Statementconn;
ResultSetrs=null;
publicjdbc()
try{
Class.forName("
oracle.jdbc.driver.OracleDriver"
).newInstance();
c=DriverManager.getConnection(dbUrl,theUser,thePw);
conn=c.createStatement();
}catch(Exceptione){
e.printStackTrace();
publicbooleanexecuteUpdate(Stringsql)
conn.executeUpdate(sql);
returntrue;
catch(SQLExceptione)
returnfalse;
publicResultSetexecuteQuery(Stringsql)
rs=null;
rs=conn.executeQuery(sql);
returnrs;
publicvoidclose()
conn.close();
c.close();
catch(Exceptione)
ResultSetrs;
jdbcconn=newjdbc();
rs=conn.executeQuery("
select*fromtest"
while(rs.next())
System.out.println(rs.getString("
id"
));
name"
}catch(Exceptione)
一种分页方法
<
%
inti=1;
intnumPages=14;
Stringpages=request.getParameter("
page"
);
intcurrentPage=1;
currentPage=(pages==null)?
(1):
{Integer.parseInt(pages)}
sql="
selectcount(*)fromtables"
ResultSetrs=DBLink.executeQuery(sql);
while(rs.next())i=rs.getInt
(1);
intintPageCount=1;
intPageCount=(i%numPages==0)?
(i/numPages):
(i/numPages+1);
intnextPage;
intupPage;
nextPage=currentPage+1;
if(nextPage>
=intPageCount)nextPage=intPageCount;
upPage=currentPage-1;
if(upPage<
=1)upPage=1;
rs.close();
sql="
select*fromtables"
rs=DBLink.executeQuery(sql);
i=0;
while((i<
numPages*(currentPage-1))&
&
rs.next()){i++;
%>
//输出内容
//输出翻页连接
合计:
%=currentPage%>
/<
%=intPageCount%>
ahref="
List.jsp?
page=1"
>
第一页<
/a>
a
href="
page=<
%=upPage%>
上一页<
for(intj=1;
=intPageCount;
j++){
if(currentPage!
=j){
<
list.jsp?
%=j%>
[<
]<
}else{
out.println(j);
%=nextPage%>
下一页<
最后页
144、用jdom解析xml文件时如何解决中文问题?
如何解析?
看如下代码,用编码方式加以解决
publicclassDOMTest
privateStringinFile="
c:
\\people.xml"
privateStringoutFile="
publicstaticvoidmain(Stringargs[])
newDOMTest();
publicDOMTest()
try
{
javax.xml.parsers.DocumentBuilderbuilder=
javax.xml.parsers.DocumentBuilderFactory.newIns