min=x[i];
}
System、out、println(min);
A)125B)5C)98D)168
若inta[3][2]={{123,345},{34,56},{34,56}},则a[2][1]=__56____。
设有整型数组得定义:
“intx[][]={{12,34},{-5},{3,2,6}};”则x、length得值为(9)
第三章面向对象(上)
1、java得面向对象得特点:
封装继承多态。
P7879
java得特性中体现对数据得保护得就是()
A.抽象性B.封装性
C.继承性D.多态性
java得特性中体现代码重用得就是()
A.抽象性B.封装性
C.继承性D.多态性
2.几个关键字:
extendsimplementsabstractinterface
类得创建,接口,抽象类创建得写法。
所有类得父类就是Object类。
Java中用 关键字定义继承(接口,抽象类 )。
Java语言中,①就是所有类得根类。
1Object②Root③Thread④Applet
下面就是类A得构造方法声明,其中正确得就是②
1voidA(intx){、、、}②A(intx){、、、}③a(intx){、、、}④voida(intx){、、、}
下列类定义中不正确得就是
3publicclassAextendsB{}②publicclassAextendsB,D{}
2publicclassAimplementsB,D{}④publicclassAextendsBimplementsC,D,E{}
下列哪个类声明就是正确得()。
A.publicabstractclassCar{…}B.abstractprivatemove(){…}
C.protectedprivatenumber;D.abstractfinalclassH1{…}
请瞧下面得程序段
publicclassTest{
longa[]=newlong[10];
pubicstaticvoidmain(Stringargs[]){
System、out、println(a[6]);
}
}
哪一个选项就是正确得()。
A.不输出任何内容B.输出0
C.当编译时有错误出现D.当运行时有错误出现
定义类A如下:
classA{
inta,b,c;
publicvoidB(intx,inty,intz){a=x;b=y;c=z;}
}
下面对方法B得重载哪些就是正确得()。
A.publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;}
B.publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;}
C.publicvoidB(intx,inty){a=x;b=y;c=0;}
D.publicB(intx,inty,intz){a=x;b=y;c=z;}
下列方法得声明中不合法得就是。
A.floatarea(){…}B.voidarea(){…}
C.area{…}D.intarea(intr){…}
下面哪一个就是正确得类得声明?
A、publicvoidHH{…}B、publicclassMove(){…}
C、publicclassvoidnumber{}D、publicclassCar{…}
3.类得设计与封装(属性,方法,继承,接口,抽象类) 程序题
所谓类得封装就是指在定义一个类时,将类中得属性私有化,即用private关键字来修饰,私有属性智能在它所在得类中被访问。
4、 构造方法:
方法与类名相同,方法名前面没有返回值类型,在方法中不能使用
return语句返回一个值,当创建对象时调用,可以重载。
构造函数在一个类中肯定存在,如果不定义也不会报错,会有一个默认无参数构造函数,该函数函数体为空,如自己定义则无参数构造函数就没有了。
下列关于构造方法错误得就是()
A.java语言中构造方法名必须与类名相同
B.java语言中构造方法没有返回值,所以用void声明
C.java语言构造函数可以重载
D.java语言构造函数就是在创建对象时自动调用。
构造函数何时被调用()
A、创建对象时B、类定义时
C、使用对象得方法时D、使用对象得属性时
以下关于构造函数得描述错误得就是。
A、构造函数得返回类型只能就是void型。
B、构造函数就是类得一种特殊函数,它得方法名必须与类名相同。
C、构造函数得主要作用就是完成对类得对象得初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
在Java中,关于构造方法,下列说法错误得就是()
A、构造方法得名称必须与类名相同
B、构造方法可以带参数
C、构造方法不可以重载
D、构造方法绝对不能有返回值
下面就是类A得构造方法声明,其中正确得就是
A.voidA(intx){、、、}B、A(intx){、、、}
C、a(intx){、、、}D、voida(intx){、、、}
有一个类A,对于其构造函数得声明正确得就是()。
A.voidA(intx){…}B.publicA(intx){…}
C.AA(intx){…}D.intA(intx){…}
以下关于构造函数得描述错误得就是()。
A、构造函数得返回类型只能就是void型。
B、构造函数就是类得一种特殊函数,它得方法名必须与类名相同。
C、构造函数得主要作用就是完成对类得对象得初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
5、 static关键字(静态)
在定义一个类时,只就是在描述某类事物得特征与行为,并没有产生具体得数据。
只有通过new关键字创建类得实例对象后,系统才会为对象分配空间,存储各自得数据。
有时候,我们希望某些特定得数据在内存中只有一份,而且能够被一个类得实例对象所共享。
静态变量:
Static修饰得变量被称为静态变量,静态变量被所有实例共享,可以使用类名、变量名访问。
静态方法:
有时我们希望不创建对象得情况下可以调用某给方法,也就就是说方法不必与对象绑在一起。
用static修饰得方法就是静态方法,可以用类名、方法名调用,也可以用实例对象访问。
在一个静态方法中只能访问用static修饰得成员,原因就是没有被static修饰得成员需要先创建对象才能访问,而静态方法在被调用时可以不创建任何对象。
假设A类有如下定义,设a就是A类得一个实例,下列语句调用哪个就是错误得?
()
classA
{inti;
staticStrings;
voidmethod1(){}
staticvoidmethod2(){}
}
A、System、out、println(a、i);B、a、method1();
C、A、method1();D、A、method2()
下面程序中类ClassDemo中定义了一个静态变量sum,分析程序段得输出结果。
()
classClassDemo{
publicstaticintsum=1;
publicClassDemo(){
sum=sum+5;}
}
publicclassClassDemoTest{
publicstaticvoidmain(Stringargs[]){
ClassDemodemo1=newClassDemo();
ClassDemodemo2=newClassDemo();
System、out、println(demo1、sum);}
}
A、0B、6C、11D、2
请瞧下面得程序段
classTest{
privateintm;
publicstaticvoidfun(){
//somecode
}
}
方法fun()如何来访问变量m()
A.将privateintm改成protectedintmB.将privateintm改成publicintm
C.将privateintm改成staticintmD.将privateintm改成intm
声明为static得方法不能访问()类成员。
A.超类B.子类
C.非staticD.用户自定义类
第四章面向对象(下)
1.继承extends
只有单继承,
在Java语言中,下列关于类得继承得描述,正确得就是()。
A、一个类可以继承多个父类
B、一个类可以具有多个子类
C、子类可以使用父类得所有方法
D、子类一定比父类有更多得成员方法
Java中,如果类C就是类B得子类,类B就是类A得子类,那么下面描述正确得就是()
A、C不仅继承了B中得成员,同样也继承了A中得成员
B、C只继承了B中得成员
C、C只继承了A中得成员
D、C不能继承A或B中得成员
Java语言中对父类与子类关系描述正确得就是
A、一个子类可以有多个父类一个父类也可以有多个子类
B、一个子类可以有多个父类但一个父类只可以有一个子类
C、一个子类可以有一个父类但一个父类可以有多个子类
D、上述说法都不对
有两个类定义:
classA{voidwho(){System、out、print("A");}}
classBextendsA{voidwho(){System、out、print("B");}}
则顺序执行如下语句后输出得结果为③。
Aa=newB();Bb=newB();
a、who();b、who();
①AA②AB③BB④BA
已知类关系如下:
ClassEmployee{}
ClassManagerextendsEmployee{}
ClassDirectorextendsEmployee{}
则下列语句正确得就是:
()。
A.Employeee=newManager();B.Directord=newManager();
C.Directord=newEmployee();D.Managerm=newDirector();
关于Java中得继承,下列说法错误得就是。
A.继承就是面向对象编程得核心特征,通过继承可以更有效地组织程序结构。
B.继承使得程序员可以在原有类得基础上很快设计出一个功能更强得新类,而不必从头开始,避免了工作上得重复。
C.每一次继承时,子类都会自动拥有父类得属性与方法,同时也可以加入自己得一些特性,使得它更具体、功能更强大。
D.继承一般有多重继承与单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。
Java中得类都采用多重继承。
2.Super关键字:
调用父类得方法。
编译运行下面得程序,结果就是()。
publicclassA{
publicstaticvoidmain(Stringargs[]){
Bb=newB();
b、test();
}
voidtest(){
System、out、print(“A”);
}
}
classBextendsA{
voidtest(){
super、test();
System、out、print(“B”);
}
}
A.产生编译错误
B.代码可以编译运行,并输出结果:
AB
C.代码可以编译运行,但没有输出
D.编译没有错误,但会产生运行时异常
ClassParent{
VoidprintMe(){
System、out、println(“parent");
}
}
classChildextendsParent{
voidprintMe(){
System、out、println("child");
}
voidprintAll(){
super、printMe();
this、printMe();
printMe();
}
}
publicclassA{
publicstaticvoidmain(Stringargs[]){
ChildmyC=newChild();
myC、printAll();
}
}
运行结果就是:
3.Final关键字可用于修饰类、变量与方法,它有“这就是无法改变得”或者“最终”得含义,因此被final修饰得类、变量与方法将具有以下特性:
1、final修饰得类不能被继承。
2、final修饰得方法不能被子类重写。
3、final修饰得变量(成员变量与局部变量)就是常量,只能赋值一次。
在Java中关于final关键字得说法不正确得就是。
A、如果修饰变量则一旦赋了值就等同一个常量。
B、如果修饰类则该类只能被一个子类继承。
C、如果修饰方法则该方法不能在子类中被覆盖。
D、如果修饰类则该类不能被继承。
什么样得方法不能被重写。
A.私有(private)方法B.最终(final)方法
C.受保护(protected)得方法D.以上都不对
4.抽象类与接口
定义方法时不写方法体,不包含方法体得方法为抽象方法,抽象方法必须使用abstract关键字来修饰,具体示例如下:
当一个类中包含了抽象方法,该类必须使用abstract关键字来修饰,使用abstract关键字修饰得类为抽象类,具体示例如下:
如果一个抽象类中得所有方法都就是抽象得,则可以将这个类用另外一种方式来定义,即接口。
在定义接口时,需要使用interface关键字来声明。
对抽象类得描述错误得就是②
①必须被继承使用②方法必须被覆盖③不能实例化④用abstract修饰符修饰
下列关于接口得叙述中,④就是正确得。
1接口与抽象类就是相同得概念②接口之间不能有继承关系
3个类只能实现一个接口④接口中只含有抽象方法与常量
接口就是Java面向对象得实现机制之一,以下说法正确得就是()。
A.Java支持多重继承,一个类可以实现多个接口
B.Java只支持单重继承,一个类可以实现多个接口
C.Java只支持单重继承,一个类只可以实现一个接口
D.Java支持多重继承,但一个类只可以实现一个接口
下列有关抽象类与接口得叙述中正确得就是哪一个。
A.抽象类中必须有抽象方法,接口中也必须有抽象方法
B.抽象类中可以有