Java 试题三

来源:互联网 发布:刘雨晴淘宝卖假货 编辑:程序博客网 时间:2024/06/05 16:02

Java 试题三

1、java类是否可以多继承,怎么实现多继承?
答:java没有多继承,但可以通过接口的形式来达到多继承的目地。


2、我比较两个String总是false,但是它们明明都是”abc” !
答:比较String一定要使用equals或equalsIgnoreCase方法,不要使用 == !
  ==比较的是两个引用(变量)是否指向了同一个对象,而不是比较其内容。


3、int 和 Integer 有什么区别
答:Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。
Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类,boolean-Boolean,char-Character,byte-Byte,short-Short,int-Integer,long-Long,float-Float,double-Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,
当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关.


4、重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别?Overload的方法是否可以改变返回值的类型?
答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类
与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定
义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这
个方法时,将调用子类中的定义,对它而言,父类中的定义如同被”屏蔽”了。如果在一个类中定
义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。
Overloaded的方法是可以改变返回值的类型


5、选择题,写出错误答案错误的原因,用单行注释的方式。

class Demo{ int show(int a,int b){return 0;}}

下面那些函数可以存在于Demo的子类中。
A.public int show(int a,int b){return 0;}//可以,覆盖。
B.private int show(int a,int b){return 0;}//不可以,权限不够。
C.private int show(int a,long b){return 0;}//可以,和父类不是一个函数。没有覆盖,相当于重载。
D.public short show(int a,int b){return 0;}//不可以,因为该函数不可以和给定函数出现在同一类中,或者子父类中。
E.static int show(int a,int b){return 0;}//不可以,静态只能覆盖静态。

原创粉丝点击