Java实习生面试题分享 (3)

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

16.是否可以继承String?

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

17.面向对象的特征有哪些方面?

1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。

2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4) 多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。

18.int    Integer  有什么区别?

Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。

Intjava的原始数据类型,

Integerjavaint提供的封装类。

Java为每个原始类型提供了封装类。

原始类型封装类booleanBoolean  charCharacter  byteByte  shortShort  intInteger  longLong  floatFloat  doubleDouble

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

19.作用域public,private,protected,以及不写时的区别?

访问

 

Public

 

Protected

 

缺省的

 

Private

 

同类

 

 

 

 

 

同包

 

 

 

 

×

 

子类

 

 

 

×

 

×

 

通用性

 

 

×

 

×

 

×

 

20.java写一个冒泡排序。

/**

* int数组进行升序排序

*

* @param intVal:要排序的数组

* @param asc:值为true,表示升序排序;传入值为false,表示降序排序

* @return 返回排序后的int数组

*/

public static int[] intArraySort(int [] intVal,boolean asc){

int [] vals=intVal;

int temp;

if(vals.length>0){

if(asc==true){

for(int i=0;i<=vals.length-2;i++){

for(int j=0;j<vals.length-i-1;j++){

if(vals[j]>vals[j+1]){

//升序排列

temp=vals[j];

vals[j]=vals[j+1];

vals[j+1]=temp;

}

}

}

}else{

for(int i=0;i<=vals.length-2;i++){

for(int j=0;j<vals.length-i-1;j++){

if(vals[j]<vals[j+1]){

//降序排列

temp=vals[j];

vals[j]=vals[j+1];

vals[j+1]=temp;

}

}

}

}

}

return vals;

}

21.short s1 =1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzgzys.html