ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:23.31KB ,
资源ID:19132767      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19132767.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java面试题目Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java面试题目Word文档格式.docx

1、类成员访问控制符与访问能力之间的关系同一个类 同一个包 不同包的子类 不同包非子类private *default * *protected * * *public * * * *5什么是方法?方法的结构是怎样的?设计方法应考虑哪些因素?方法是Java类的一个组成部分,通过类的方法改变对象的状态。方法的结构:方法修饰符返回值类型方法名(形参列表)throws异常列表方法体;设计方法应考虑因素有:(1)方法名是Java中任意的标识符,按照命名的约定,方法名应该是有意义的动词或动词短语,它的第一个字母一般要小写,其他有意义的单词的首字母要大写,其余字母小写。(2)返回值类型可以是任意的Java类型

2、,甚至可以是定义此方法的类。如果方法没有返回值,则用void表示。(3)形式参数列表是可选的。如果方法没有形式参数,就用一对小括号“()”表示。形式参数列表的形式如下:(类型形参名,类型形参名,)(4)throws异常列表规定了在方法执行中可能导致的异常。6什么是方法的覆盖?与方法的重载有何不同?方法的覆盖与属性的隐藏有何不同?子类重新定义父类中已经存在的方法,称为方法的覆盖。方法重载指一个类中有多个方法享有相同的名字,但是这些方法的参数必须不同,或者是参数的个数不同,或者是参数类型不同。返回类型不能用来区分重载的方法。其实方法重载的最主要的作用就是实现同名的构造方法可以接受不同的参数。参数类

3、型的区分度一定要足够,例如不能是同一简单类型的参数,如int与long。方法的重载不是子类对父类同名方法的重新定义,而是在一个类中定义了同名的不同方法。方法覆盖与属性的隐藏不同:子类重新定义父类已有的域,并不能完全取代它从父类那里继承的同名的域,这个域仍然占用子类的内存空间,在某些情况下会被使用;而当子类重新定义父类的方法时,从父类那里继承来的方法将被新方法完全取代,不再在子类的内存空间中占一席之地。7什么是成员变量、局部变量、类变量和实例变量?在方法外但在类声明内定义的变量叫成员变量,作用域是整个类。在方法体中定义的变量和方法的参数被称为局部变量。类的成员变量分为类变量和实例变量,类变量是用

4、关键字static声明的变量。成员变量在整个类内都有效,局部变量只在定义它的方法内有效。他们的生存期分别是:局部变量在定义该变量的方法被调用时被创建,而在该方法退出后被撤销;实例变量在创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同;类变量在该类被加载时被创建,所有该类的实例对象共享该类变量,其生存期是类的生存期。任何变量在使用前都必须初始化,但是需要指出的是局部变量必须显式初始化,而实例变量不必,原始类型的实例变量在该类的构造方法被调用时为它分配的缺省的值,整型是0,布尔型是false,而浮点型是0.0f,引用类型(类类型)的实例变量的缺省值是null,类变量的规则和实例变量一

5、样,不同的是类变量的初始化是在类被加载时。8什么是继承?什么是父类?什么是子类?继承的特性可给面向对象编程带来什么好处?继承(Inheritance):继承是指从已有的类中派生出若干个新类,是子类自动共享父类之间数据和方法的机制。已有类称为基类或父类,新类称为派生类或子类;子类将自动地获得基类的属性与方法,从而不需再重复定义这些属性与方法;当然子类还可以修改父类的方法或增加新的方法,从而使自己更适合特殊的需要。类之间的继承关系是现实世界中遗传关系的直接模拟。如果没继承性机制,则类对象中数据、方法就会出现大量重复。继承不仅支持系统的可重用性,而且还促进系统的可扩充性。继承是子对象可以继承父对象的

6、属性和行为,亦即父对象拥有的属性和行为,其子对象也就拥有了这些属性和行为。这非常类似大自然中的物种遗传。9什么是多态?面向对象程序设计为什么要引入多态的特性?多态性:是指不同类的对象收到相同的消息时,得到不同的结果。即允许不同类的对象对同一消息作出各自的响应,以统一的风格处理已存在的数据及相关的操作。即多态性语言具有灵活、抽象、行为共享、代码共享的优势,较好地解决了应用程序中方法同名的问题。多态的特点大大提高了程序的抽象程度和简洁性,更重要的是它最大限度地降低了类和程序模块之间的耦合性,提高了类模块的封闭性,使得它们不需了解对方的具体细节,就可以很好地共同工作。这对程序的设计、开发和维护都有很

7、大的好处。10“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否正确?为什么?这样说是不对的,因为父类的私有方法不能被继承。如果父类有N个私有域和方法而只有一个非私有的域或方法时,跟据继承的原则子类只能拥有父类的非私有域和方法。这时子类的域和方法就要小于父类了。11父类对象与子类对象相互转化的条件是什么?如何实现它们的相互转化?一个子类对象也可以被合法地视为一个父类的对象,即一个父类对象的引用,其指向的内存单元可能实际上是一个子类的对象。在这种情况下,可以使用强制类型转换,将父类对象的引用转换成实际的子类对象的引用。12以下代码共创建了几个对象:2Strings1=newS

8、tring(“hello”);s2=news3=s1;s4=s2;13分析以下代码,编译时出现什么现象:ThelocalvariablemyArgmaynothavebeeninitializedpublicclassTeststaticint=1;voidmain(Stringargs)myArg;System.out.println(myArg);14对于以下程序,运行“javaMysteryMightyMouse”,得到的结果:MouseChangercnewChanger();c.method(args);System.out.println(args0+”args1);method(

9、Strings)temps0;s0s1;s1temp;15阅读下列程序,写出输出的结果:i1001010Xxxprivatei;x;Xxx()10;xnull;Xxx(inti)this.iXxx();print()System.out.println(“ii);System.out.println(x);toString()return”iTestXxx(100);x.print();System.out.println(x.x);16为了使以下Java应用程序输出11、10、9,应在(*)处插入的语句是:ia=(int)xa+1;如果要求输出10、9、8,则在(*)处插入的语句应是:ia=

10、(int)xa;GetItmain(Stringargs)doublex10.2,9.1,8.7;iint3;for(inta0;(x.length);a+)(*)System.out.println(ia);17阅读下列程序,分析程序的输出结果:MyfuncabstractBasemyfunc();another()System.out.println(“Anothermethod”);Absextendsargv)Abs();a.amethod();myfunc()System.out.println(“Myfunc”);amethod()18分析以下代码,编译时会出现的错误信息是:Tes

11、t.java:6:secret可以在A中访问private(returna.secret+;出错)Asecret;method(Aa)args)test=newTest();Aa=newA();System.out.println(test.method(a);19、分析以下程序,写出运行结果:1234Test19changeStr(Stringstr)str=”welcome”;str=”1234;changeStr(str);System.out.println(str);20、分析以下程序,写出运行结果:ABDCBDCBTest20booleanfoo(charc)System.out.

12、print(c);true;2;for(foo(A);foo(B)&(i4);foo(C)i+;foo(D);21编写程序,要求创建一个Dog类,添加name,eyeColor属性,为该属性自动添加相应的set和get方法,并给出至少两个构造方法。Dogname,eyeColor;/无形参的构造方法()this.name=”逗逗“;eyeColor”黑“;有形参的构造方法Dog(String)name;getEyeColor()setEyeColor(StringeyeColor)this.eyeColorgetName()setName(Stringname)this.name22统计一个字

13、符串中出现某个字母的次数(注意区分大小写)。String类中的相关方法(具体用法请查看JDK帮助文档):length():计算字符串长度,得到一个int型数值;indexOf(在字符串中定位某个子串,并返回位置编号substring(截取字符串中的一部分,并作为一个新字符串返回;equals(比较两个String内容是否完全相同。str”abckajbfhbbkhfgabkbjkdfasjkbdanjkasfbai”;chr”b”;count(intstr.length();i+)if(chr.equals(str.charAt(i)count+;System.out.println(“The

14、iscount);23.创建一个桌子(Table)类,该类中有桌子名称、重量、桌面宽度、长度和桌子高度属性,以及以下几个方法:构造方法:初始化所有成员变量。area(计算桌面的面积。display(在屏幕上输出所有成员变量的值。changeWeight(intw):改变桌子重量。在测试类的main()方法中实现创建一个桌子对象,计算桌面的面积,改变桌子重量,并在屏幕上输出所有桌子属性的值。packagecom.test;Table/名称weight;/重量width;/宽longth;/长height;/高/构造方法Table(Stringweight,width,longth,height)

15、super();this.weightthis.widththis.longththis.height/计算桌面的面积area()System.out.println(“桌子面积是“+longth*width);在屏幕上输出所有数据成员的值display()System.out.println(“桌子名称:”+name+”n”+”重量:”+weight+”n”+”宽:”+width+”n”+”长:”+longth+”n高:”+height);/改变桌子重量的方法i)this.weight=i;System.out.println(“面积改为“+this.weight);table=newTab

16、le(“红木桌“,100.5,3.2,2.3,1.5);System.out.println(“创建一个桌子对象,属性如下“);table.display();table.area();table.changeWeight(100);System.out.println(“更改重量后,属性如下“);24编写一个程序,在主类中创建和调用方法sumf(),方法sumf()的功能是进行两个浮点数的加法运算。试将12.7和23.4两个数相加并显示运算结果。importjava.util.Scanner;testfloatsumf(floatx,floaty)x+y;main(Stringargs)Sc

17、annerscScanner(System.in);System.out.println(“输入2个浮点数求和表达式,如:23.4+67.01);strsc.next().split(“+”);mFloat.parseFloat(str0);nFloat.parseFloat(str1);System.out.println(m+”+”+n+”=”+sumf(m,n);习题51接口与抽象类有哪些异同点?在面向对象的概念中,我们知道所有的对象都是通过类来描绘的,但是反过来却不是这样。并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。抽象类往

18、往用来表征我们在对问题领域进行分析、设计中得出的抽象概念,是对一系列看上去不同,但是本质上相同的具体概念的抽象。正是因为抽象的概念在问题领域没有对应的具体概念,所以用以表征抽象概念的抽象类是不能够实例化的。接口与抽象类的主要异同点如下:接口定义了一组特定功能的对外接口与规范,而并不真正实现这种功能,功能的实现留待给实现这一接口的各个类来完成。抽象类一般作为公共的父类为子类的扩展提供基础,这里的扩展包括了属性上和行为上的。而接口一般来说不考虑属性,只考虑方法,使得子类可以自由的填补或者扩展接口所定义的方法。抽象类表示的是“is-a”关系,接口着重表示的是“can-do”关系。在Java语言中表示

19、的是一种继承关系,一个类只能使用一次继承。但是,一个类却可以实现多个interface,接口可以解决多重继承问题。接口是抽象方法和常量值的定义的集合,从本质上讲,接口是一种只包含常量与抽象方法的特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。接口里面不能有私有的方法或变量,是用于让别人使用的,接口中的所有常量必须是publicfinal,且必须给其初值,其实现类中不能重新定义,也不能改变其值。接口中的方法必须是publicabstract,这是系统默认的,不管你在定义接口时,写不写修饰符都是一样的。抽象类中是可以有私有方法或私有变量的,抽象类中的变量默认是friend

20、ly型,其值可以在子类中重新定义,也可以重新赋值。实现抽象类和接口的类必须实现其中的所有方法。在抽象类中可以有自己的数据成员,也可以有非abstarct的成员方法。而在interface中,只能够有静态的不能被修改的数据成员,所有的成员方法都是abstract的。实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写需要用到的方法。一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。2区分接口与抽象类分别在什么场合使用?如果预计要创建类的多个版本,则创建抽象类。抽象类提供简单的方法来控制类版本。如果创建的功能将在大范围的异类对象间使用,则使用接口。如果要设计小而简练的功能块,则使用接口。如果要设计大的功能单元,则使用抽象类。如果要向类的所有子类提供通用的已实现功能,则使用抽象类。抽象类主要用于关系密切的对象;而接口适合为不相关的类提供通用功能。抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。接口多定义对象的行为;抽象类多定义对象的属性;3一个类如何实现接口?实现某接口的类是否一定要重载该接口中的所有抽象方法?一个类使用关键字implements实现某接口。实现某接口的类如果不是抽象类,则需要通过重载来实现该接口中

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

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