JAVA练习题(面向对象)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JAVA练习题》面向对象
一、判断正误:
1.Java语言为所有的Java程序自动导入包“ng”,因此,Java程序可以直接用
“ng”中的类和接口。位于类继承关系层次结构树的根部的类Object就是在包“ng”中的一个类。
2.有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。
3.构造方法一般不允许有任何返回值,因此需要在返回类型处标注为void.
4.任何类都必须显式地定义该类的构造方法,以便对类的成员进行各种初始化操作。
5.运行下面程序将在控制台窗口中输出a。
public class A{
public A ( ){
char c=’a’;}
public static void main(String args[ ]) {
System.out.println( c );}
}
6.如果在定义一个类的时候没有用到关键字extends,则这个类没有直接父类。
7.在同一个类中,不允许存在具有相同方法名和相同参数类型列表的方法,即使该方法
的返回类型不相同。
8.抽象方法不能含有方法体,并且必须在抽象类中。
9.抽象类是不能实例化的,抽象类的实例化,应当通过其不具有抽象属性的子类来创建。
二、填空:
1.填空面名对象的计算机语言一般应具有3个基本特征,分别是__________________。
2.在下面的程序编译之后,按“java A 1 2 3”方式运行的结果是:_______。
public class A {
public static void main(String args[ ]) {
int i;
for(i=0;i {System.out.println(“args[“+i+”]=”+args[i]+”;”); } } } 3.请按要求完成下面的程序,最终该程序的输出结果是:________。 class A { public int m; public A(int d) { m=d; } } public class B extends A { public int n; public B(int ds, int d) { ____________________// 要求将其父类的成员m初始化为ds的值 n=d; } public static void main(String args[ ]) { B s=new B(2,3); System.out.println(s.n+s.m); } } 4.下面程序输出的结果是_______。 public class A { static int m=0; public int s( ) { m++; return m; } public static void main(String args[ ]) { A a=new A( ); A b=new A( ); A c=new A( ); a.s ( ); b.s ( ); c.s ( ); int i=a.s( ); System.out.println(i); }} 三、选择题: 1.对于下面哪些类定义,可以通过“new A( )”生成类“A”的实例对象? A. public class A { } B. public class A { public A(void) { } } C. public class A {public A(String s) { } } D. public class A {public void A ( ) { } public A(String s) { } } 2.关于下面程序,哪些结论是正确的?() public class A { public A( ) { System.out.print(“2”); } public static void main(String args[ ]) { A s=new A( ); s.A( ); System.out.print(“1”); } } A.程序可以通过编译并正常运行,结果输出“21”。 B.程序可以通过编译并正常运行,结果输出“221”。 C.程序无法通过编译。 D.程序可以通过编译,但无法正常运行。 3. 下面程序的输出是什么? public class A { int m=2; String s=null; A( ) { m=3; s=”constructor”; } public static void main(String args[ ]) { A app=new A( ); System.out.println(app.m+app.s); }} A.3null B.3constructor C.2constructor D.2null 4. 下面程序的输出是什么? class A { int m=2; String s=null; void A( ) { m=3; s=”constructor”; } public static void main(String args[ ]) { A app=new A( ); System.out.println(app.m+app.s); }} A.3null B.3constructor C.2constructor D.2null 5.己知字母‘a’和‘b’所对应的数值分别是97和98。关于下面程序代码,哪些选项的结论是正确的? public class A { static char name; static int age; public static void setData(char n) { name=n;} public static void setData(int m) { age=m;} public static void main(String args[ ]) { setData((int)’a’); setData((char)98);