java基础知识问答Word文档下载推荐.docx

上传人:b****6 文档编号:16617703 上传时间:2022-11-24 格式:DOCX 页数:10 大小:19.36KB
下载 相关 举报
java基础知识问答Word文档下载推荐.docx_第1页
第1页 / 共10页
java基础知识问答Word文档下载推荐.docx_第2页
第2页 / 共10页
java基础知识问答Word文档下载推荐.docx_第3页
第3页 / 共10页
java基础知识问答Word文档下载推荐.docx_第4页
第4页 / 共10页
java基础知识问答Word文档下载推荐.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

java基础知识问答Word文档下载推荐.docx

《java基础知识问答Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java基础知识问答Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。

java基础知识问答Word文档下载推荐.docx

创建了两个,一个字符对象,一个引用对象

7.shorts1=1;

s1=s1+1;

有什么错?

shorts1=1;

s1+=1;

两个错误都是一样的,后者只是加法的写法不一样,两个错误都是因为s1是short型而1是整型相加后数据类型就变为整型了,与s1定义为short型有矛盾,必须进行强制类型转换才正确。

8.数组有没有length()这个方法?

String有没有length()这个方法?

数组没有,String有。

9.Overload和Override的区别

方法的覆盖(Overriding)和重载(Overloading)是Java多态性的不同表现。

覆盖(Overriding)是父类与子类之间多态性的一种表现,重载(Overloading)是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被覆盖(Overriding)。

子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

Overloaded的方法可以改变返回值的类型。

10.abstractclass和interface有什么区别?

声明方法的存在而不去实现它的类被叫做抽象类(abstractclass),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。

不能创建abstract类的实例。

然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。

不能有抽象构造函数或抽象静态方法。

Abstract类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。

取而代之,在子类中实现该方法。

知道其行为的其它类可以在类中实现这些方法

接口(interface)是抽象类的变体。

在接口中,所有方法都是抽象的。

多继承性可通过实现这样的接口而获得。

接口中的所有方法都是抽象的,没有一个有程序体。

接口只可以定义staticfinal成员变量。

接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。

当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。

然后,它可以在实现了该接口的类的任何对象上调用接口的方法。

由于有抽象类,它允许使用接口名作为引用变量的类型。

通常的动态联编将生效。

引用可以转换到接口类型或从接口类型转换,instanceof运算符可以用来决定某对象的类是否实现了接口

11.构造器Constructor是否可被override?

可以。

12.是否可以继承String类?

String类是final类所以不可以继承。

13.题目如下:

父类:

publicclassFatherClass

{

publicFatherClass()

System.out.println("

FatherClassCreate"

}

子类:

publicclassChildClassextendsFatherClass

publicChildClass()

ChildClassCreate"

publicstaticvoidmain(String[]args)

FatherClassfc=newFatherClass();

ChildClasscc=newChildClass();

请问输出结果为:

FatherClassCreate+

FatherClassCreate

ChildClassCreate

14.publicclassOuterClass{

privatedoubled1=1.0;

//insertcodehere~~line3

从下列选项中选择两个正确的答案放在line3中(CE)

A.classInnerOne{

publicstaticdoublemethoda(){returnd1;

B.publicclassInnerOne{

staticdoublemethoda(){returnd1;

C.privateclassInnerOne{

doublemethoda(){returnd1;

D.staticclassInnerOne{

protecteddoublemethoda(){returnd1;

E.abstractclassInnerOne{

publicabstractdoublemethoda();

15.STRING与STRINGBUFFER的区别

STRING的长度是不可变的,一旦一个String对象被创建,包含在这个实例中的内容(“字符串”)不可以被更改,直至这个对象被销毁,因此,指向一个String对象的变量实质上是一个常量,String对象也被称为常量对象;

STRINGBUFFER的长度是可变的,可以通过StringBuffer的append()、insert()、reverse()、setCharAt()、setLength()等方法,可以对这个字符串中的内容修改。

如果你对字符串中的内容经常进行操作,特别是内容要修改时,那么使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法

16.JAVA类实现序例化的方法是?

JAVA类要实现序列化,对应的类必须先实现Serializable和Externalizable这两种接口,然后就可以调用ObjectOutputStream的witeObject()方法来保存对象以及通过ObjeatInputStream的readObjeact()方法来读取保存的对象。

17.Collection框架中实现比较要实现什么接口?

要实现Comparable接口,并实现这个接口的唯一方法cpmparaTo(),接受一个Object对象,在这个方法中可以定义对象的排序规则。

18.介绍JAVA中的Collection框架结构,并画出来

<

>

Collection

Set

List

HashSet

Treeset

ArrayList

Vector

19.编程题:

列出某文件夹下的所有文件(文件夹从命令行输入)

解:

importjava.io.*;

publicclasslistFile

publicstaticvoidmain(String[]args)

Strings="

"

;

InputStreamReaderir=newInputStreamReader(System.in);

BufferedReaderin=newBufferedReader(ir);

try{

s=in.readLine();

Filef=newFile(s);

File[]files=f.listFiles();

for(inti=0;

i

if(files[i].isFile())

文件:

+files[i]);

else

目录:

in.close();

catch(IOExceptione)

e.printStackTrace();

20.编程题:

写一个满足Singleton模式的类出来

publicclassSingletonTest

{,

privatestaticSingletonTestsp;

privateSingletonTest(){}

publicstaticSingletonTestgetInstance()

if(sp==null)

{sp=newSingletonTest();

}

returnsp;

21.编程:

编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。

但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”

classinterceptString

StringinterceptStr;

intinterceptByte;

publicinterceptString(Stringstr,intbytes)

interceptStr=str;

interceptByte=bytes;

字符串为:

'

+interceptStr+"

字节数为:

+interceptByte);

publicvoidinterceptIt()

intinterceptCount;

interceptCount=(interceptStr.length()%interceptByte==0)?

(interceptStr.length()/interceptByte):

(interceptStr.length()/interceptByte+1);

截取后断数为:

+interceptCount);

for(inti=1;

i<

=interceptCount;

i++)

{if(i==interceptCount)

System.out.println(interceptStr.substring((i-1)*interceptByte,interceptStr.length()));

}else

System.out.println(interceptStr.substring((i-1)*interceptByte,(i*interceptByte)));

interceptStringss=newinterceptString(s,4);

ss.interceptIt();

}catch(IOExceptione)

{e.printStackTrace();

22.多线程有几种实现方法,都是什么?

同步有几种实现方法,都是什么?

多线程有三种实现方法,分别为:

①实现Runnable接口,覆盖Run()方法。

②继承Thread,覆盖Run()方法。

③继承TimerTask,覆盖Run()方法。

同步的实现是在方法前加synchronized,在调用wait()和notify()。

23.请说出你所知道的线程同步的方法

1.synchronized方法:

通过在方法声明中加入synchronized关键字来声明synchronized方法。

2.synchronized块:

通过synchronized关键字来声明synchronized块。

24.当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?

不可以。

synchronized方法都必须获得调用该方法的类实例的锁方能执行,否则所属线程阻塞,方法一旦执行,就独占该锁,直到从该方法返回时才将锁释放,此后被阻塞的线程才能获得该锁,重新进入可执行状态。

25.用JAVASOCKET编程,实现简单的Echo功能

如:

客户端从键盘输入hi(当用户输出exit退出程序),服务端响应为hi(服务器要求为多线程)

服务器程序:

import.*;

publicclassMyServerextendsThread{

privateSocketcq;

publicMyServer(Socketcq)

this.cq=cq;

publicvoidrun()

try

BufferedReaderin=newBufferedReader(newInputStreamReader(cq.getInputStream()));

PrintWriterout=newPrintWriter(cq.getOutputStream());

while(true)

Stringstr=in.readLine();

System.out.println(str);

out.println("

message:

"

+str);

out.flush();

if(str.equals("

exit"

))

break;

catch(IOExceptione)

System.out.println(e.message());

publicstaticvoidmain(String[]args)throwsIOException{

ServerSocketserver=newServerSocket(8009);

Sockets=server.accept();

newMyServer(s).start();

客户端程序:

publicclassMyClient{

publicstaticvoidmain(String[]args)throwsException

Socketserver=newSocket("

localhost"

8009);

BufferedReaderin=newBufferedReader(newInputStreamReader(server.getInputStream()));

PrintWriterout=newPrintWriter(server.getOutputStream());

BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));

Stringstr=br.readLine();

out.println(str);

)){

System.out.println(in.readLine());

server.close();

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1