Java 第二次作业PTA
1-1
如果一个类的声明中没有使用extends关键字,这个类被系统默认为是继承Object类。 (1分)
T
作者: 王从银
单位: 吉首大学
1-2
为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。 (1分)
T
作者: 王从银
单位: 吉首大学
1-3
接口中的方法默认是public abstract方法。 (1分)
T
作者: 王从银
单位: 吉首大学
1-4
类在实现接口方法时必须给出方法体,并且一定要用public来修饰。 (1分)
T
作者: 王从银
单位: 吉首大学
1-5
一个Java源文件就是由类和接口组成的。 (1分)
T
作者: 从银
单位: 吉首大学
1-6
如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract类。 (1分)
T
作者: 王从银
单位: 吉首大学
1-7
类在实现接口的方法时,必须显式地使用public修饰符。 (1分)
T
作者: 王从银
单位: 吉首大学
1-8
一个类只能有一个父类,但一个接口可以有一个以上的父接口。 (1分)
T
作者: 王从银
单位: 吉首大学
1-9
一个类可以实现多个接口。 (1分)
T
作者: 王从银
单位: 吉首大学
1-10
一个接口可以继承其他接口。 (1分)
T
作者: 王从银
单位: 吉首大学
1-11
接口中的方法默认都是静态的。 (1分)
F
作者: 王从银
单位: 吉首大学
1-12
接口中的属性,都是静态常量。 (1分)
T
作者: 王从银
单位: 吉首大学
1-13
抽象类中不能有private的成员,所有的抽象方法必须存在于抽象类中。 (1分)
T
作者: 王从银
单位: 吉首大学
1-14
抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。。 (1分)
F
作者: 王从银
单位: 吉首大学
1-15
抽象类必须有抽象方法。 (1分)
F
作者: 王从银
单位: 吉首大学
1-16
覆盖只能在不同的类中完成。 (1分)
F
作者: 王从银
单位: 吉首大学
1-17
Object是Java中所有类的共同父类。 (1分)
T
作者: 王从银
单位: 吉首大学
1-18
abstract类中定义的方法只能是abstract方法。 (1分)
F
作者: 王从银
单位: 吉首大学
1-19
abstract可以与final同时修饰同一个类。 (1分)
F
作者: 王从银
单位: 吉首大学
1-20
子类不继承父类的构造方法。 (1分)
T
作者: 张德慧
单位: 西安邮电大学
1-21
可以覆盖在父类中定义的私有方法。 (1分)
F
删除线格式
2-1
Java中( ) 。 (1分)
一个子类可以有多个父类,一个父类也可以有多个子类
一个子类可以有多个父类,但一个父类只可以有一个子类
一个子类可以有一个父类,但一个父类可以有多个子类
上述说法都不对
作者: 王从银
单位: 吉首大
2-2
将以下哪种方法插入行3是不合法的。 (2分)
1.public class Test1{
2. public float aMethod(float a,float b){ }
3.
4.}
public float aMethod(float a, float b,float c){ }
public float aMethod(float c,float d){ }
public int aMethod(int a, int b){ }
private float aMethod(int a,int b,int c){ }
作者: 王从银
单位: 吉首大学
2-3
将以下哪种方法插入行6是不合法的。( ) 。 (2分)
1.public class Test1 {
2. public float aMethod(float a,float b) throws
3. IOException { }
4. }
5.public class Test2 extends Test1{
6.
7.}
float aMethod(float a,float b){ }
public int aMethod(int a,int b)throws Exception{ }
public float aMethod(float p,float q){ }
public int aMethod(int a,int b)throws IOException{ }
作者: 王从银
单位: 吉首大学
2-4
若A1、A2为已定义的接口 ,以下接口定义中没有语法错误的是( ) 。(2分)
interface B { void print() { } }
abstract interface B { void print() }
abstract interface B extends A1,A2 { abstract void print(){ };}
interface B { void print();}
作者: 王从银
单位: 吉首大学
2-5
A派生出子类B,B派生出子类C,对于如下Java源代码正确的说法是()。(2分)
- A a0 =new A();
- A a1 =new B();
- A a2 =new C();
只有第1行能通过编译
第1、2行能通过编译,但第3行编译出错
第1、2、3行能通过编译,但第2、3行运行时出错
第1行、第2行和第3行的声明都是正确的
作者: 王从银
单位: 吉首大学
2-6
以下关于继承的叙述正确的是( )。 (2分)
在Java中类只允许单一继承
在Java中一个类只能实现一个接口
在Java中一个类不能同时继承一个类和实现一个接口
在Java中接口只允许单一继承
作者: 王从银
单位: 吉首大学
2-7
在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。 (2分)
private
protected
private protected
public
作者: 王从银
单位: 吉首大学
2-8
下面说法不正确的是( ) (2分)
一个子类的对象可以接收父类对象能接收的消息;
当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同;
父类比它的子类的方法更多;
子类在构造函数中可以使用super( )来调用父类的构造函数;
作者: 王从银
单位: 吉首大学
2-9
下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new Child(“mike”)的时候都有哪些构造方法被顺序调用?请选择输出结果 ( ) (2分)
class People {
String name;
public People() {
System.out.print(1);
}
public People(String name) {
System.out.print(2);
this.name = name;
}
}
class Child extends People {
People father;
public Child(String name) {
System.out.print(3);
this.name = name;
father = new People(name + “:F”);
}
public Child(){
System.out.print(4);
}
}
312
32
432
132
作者: 王从银
单位: 吉首大学
2-10
下面哪个对类的声明是错误的? (2分)
class MyClass extends MySuperClass1, MySupperClass2 {}
public class MyClass{}
abstract class MyClass implements YourInterface1, Youriterface2 {}
private class MyClass {}
class MyClass extends MySuperClass implements YourInterface {}
作者: 王从银
单位: 吉首大学
2-11
类Teacher和Student是类Person的子类,下面的代码中最后一句语句的运行结果是( ).(2分)
Person p;
Teacher t;
Student s;
//p,t and s are all non-null.
if(t instanceof Person) {s=(Student)t;}
编译时正确,但运行时错误
将构造一个Student对象
表达式是错误的
表达式是合法的
作者: 王从银
单位: 吉首大学
2-12
在Java中,能实现多重继承效果的方式是( )。 (2分)
接口
继承
内部类
适配器
作者: 强彦
单位: 太原理工大学
2-13
下列选项中,用于定义接口的关键字是( )。 (2分)
interface
implements
abstract
class
作者: 强彦
单位: 太原理工大学
2-14
下列选项中,用于实现接口的关键字是 ( )。 (2分)
interface
implements
abstract
class
作者: 强彦
单位: 太原理工大学
2-15
设有如下代码段: (2分)
class A {
int i, j;
public void fun() {
i++;
j++;
}
}
class B extends A {
static int j;
public void func() {
int j = 2;
for (i = 0; i < 10; i++) {
j += 3;
fun();
}
System.out.println(super.i + this.j); System.out.println(i + "" + j); }
}
class Main {
public static void main(String[] args) throws Exception {
B b = new B();
b.func();
}
}
运行Main类,输出结果为
0 032
0 1032
10 27
10 1017
42 1032
作者: 孔德桢
单位: 浙江大学城市学院
2-16
给出如下代码段: (2分)
未命名.png
输出结果为
30 0
0 0
0 10
30 10
作者: 孔德桢
单位: 浙江大学城市学院
2-17
下列关于抽象类的说法哪一个是错误的。 (2分)
含抽象方法的类为抽象类
抽象类能创建(new)实例
子类有未实现父类的抽象方法时仍为抽象类
子类实现所有抽象方法时不再是抽象类
作者: 崔振宇
单位: 山东科技大学
2-18
关于抽象类,下面叙述错误的是() 。 (1分)
包含抽象方法的类必须是抽象类
抽象方法只需要声明,不需要实现
抽象类可以实例化
抽象类中可以没有抽象方法
作者: 孙晨霞
单位: 河北农业大学
2-19
关于接口的声明,错误的是( ) 。 (1分)
接口中所有的成员属性都是public static final修订的常量
接口中的成员属性在声明时可以省略修订关键字
接口中所有的方法都是public abstract final修订的
接口中所有的方法都是public abstract修订的
作者: 孙晨霞
单位: 河北农业大学
2-20
关于接口,下面的叙述错误的是()。 (1分)
一个接口可以多继承多个接口
一个类可以实现多个接口
抽象类在实现接口时,可以不实现该接口中声明的所有方法//非抽象类在实现接口时,必须实现该接口中声明的所有方法。
抽象类在实现接口时,必须实现该接口中声明的所有方法
作者: 孙晨霞
单位: 河北农业大学
2-21
下面的概念,哪个不是关于对象的多态性的体现。 (1分)
方法的重载
方法的继承
方法的覆盖
对象的上、下转型
删除线格式
下列有关匿名对象的说法,正确的有 (2分)
匿名对象只能继承一个类或实现一个接口
匿名对象可以有构造函数
匿名对象不能被重复构造
每个匿名对象都具有独一无二的类型
作者: 孔德桢
单位: 浙江大学城市学院
3-2
对于如下的代码片段,执行b.func()之后,值为27的表达式有 (2分)
class A {
int i, j;
public void fun() {
i++;
j++;
}
}
class B extends A {
static int j;
public void func() {
int j = 2;
for (i = 0; i < 10; i++) {
j += 3;
fun();
}
if (j < 30) {
super.j = j;
} else {
B.j = j;
}
}
}
class Main {
public static void main(String[] args) throws Exception {
B b = new B();
A a = b;
b.func();
}
}
b.i + b.j
((A)b).i + ((A)b).j;
a.i + a.j
b.i + a.j
~~删除线格式~~ 4-1 给出以下代码: class Address { private String streetAddress, city, state; private long zipCode; public Address (String street, String town, String st, long zip) { streetAddress = street; city = town; state = st; zipCode = zip; } public String toString() { String result; result = streetAddress + "\n"; result += city + ", " + state + " " + zipCode; return result; } } class Student { private String firstName, lastName; private Address homeAddress, schoolAddress; public Student (String first, String last, Address home, Address school) { firstName = first; lastName = last; homeAddress = home; schoolAddress = school; } public String toString() { String result; result = firstName + " " + lastName + "\n"; result += "Home Address:\n" + homeAddress + "\n"; result += "School Address:\n" + schoolAddress; return result; } } public class StudentTest { public static void main (String[] args) { Address school = new Address ("38 Zheda Rd.", "Hangzhou","ZJ", 310027); Address jHome = new Address ("20 Yugu Rd.", "Hangzhou","ZJ", 310013); Student john = new Student ("John", "Smith", jHome, school); Address mHome = new Address ("123 Zhongshan Rd.", "Fuzhou", "FJ",350000); Student marsha = new Student ("Marsha", "Jones", mHome, school); System.out.println (john); // System.out.println (); System.out.println (marsha); } } 程序运行结果为(一行一空): John Smith (28分) Home Address: 20 Yugu Rd. Hangzhou, ZJ 310013 School Address: 38 Zheda Rd. Hangzhou, ZJ 310027 Marsha Jones Home Address: 123 Zhongshan Rd. Fuzhou, FJ 350000 School Address: 38 Zheda Rd. Hangzhou, ZJ 310027 作者: 翁恺 单位: 浙江大学 4-2 请写出以下程序运行结果: class Foo { protected class Bar { protected Bar() { System.out.println("Foo.Bar"); } } private Bar b; Foo() { System.out.println("Foo"); b = this.new Bar(); } } class FooToo extends Foo { protected class Bar { protected Bar() { System.out.println("FootToo.Bar"); } } public static void main(String[] args) { new FooToo(); } } Foo (4分) Foo.Bar 作者: 翁恺 单位: 浙江大学 4-3 请写出以下程序运行结果: package test; public class 1c140 Test { public static void main(String[] args) { Test t = new Test(); t.show(new Car(){ public void run(){ System.out.println("test run"); } }); } public void show(Car c){ c.run(); c.show(); }} abstract class Car{ public void run(){ System.out.println("car run"); } public void show(){ System.out.println(getClass().getName()); }} test run (4分) Example1$1 作者: 翁恺 单位: 浙江大学 4-4 请写出以下程序运行结果: class Width { public static final int SINGLE = 1; } class Shape { public void draw(int Width) { System.out.println("Shape.draw()"+width); } } class Circle extends Shape { public void draw(Width n) { System.out.println("Circle.draw()"); } } public class Test { public static void test(Shape s) { s.draw(Width.Single); } public static void main(String[] args) { Shape c = new Circle(); test(c); } } (2分) 作者: 翁恺 单位: 浙江大学 4-5 一个类如果实现一个接口,那么它就需要实现接口中定义的全部( ),否则该类就必须定义成( )。 方法 (2分) 抽象类
- Java第二次作业
- 吉软_java57_第二次作业
- 《Java程序设计第二次作业》:MySQL数据库及Java操作MySQL数据库
- java第二次作业
- 软件工程第二次程序的作业:Java计算器实验
- 《Java程序设计》第二次作业:MySQL数据库及Java操作MySQL数据库
- java第二次作业
- java第二次作业
- JAVA第二次作业
- java第二次作业(2)
- Java第二次作业參考代码
- JAVA 第二次作业
- JAVA第二次作业
- Java第二次作业
- 《Java程序设计》第二次作业:MySQL数据库及Java操作MySQL数据库(一)
- java第二次课堂小作业求 五个数的平均数 最大数以及最小数
- 第二次java作业梁鸿彬
- JAVA第二次作业展示与学习心得
- 《Java程序设计》第二次作业:MySQL数据库及Java操作MySQL数据库 之一
- 16秋计算机JAVA第二次课作业(钟永钜)