超多的题库,支持文字、图片,语音搜题,包含国家开放大学、广东开放大学、云南开放大学、北京开放大学、上海开放大学、江苏开放大学、超星、青书、奥鹏等等多个平台题库,考试作业必备神器。

2023年秋季广东开放大学Java程序设计基础形成性考核平时作业参考答案
一、选择题
1. B
2. A
3. C
4. B
5. C
6. A
7. B
8. C
9. A
10. B
二、填空题
1. public
2. static
3. void
4. main
5. String
6. args
7. System.out.println
8. int
9. double
10. char
三、编程题
1.
```java
public class Circle {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
```
2.
```java
public class Rectangle {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
public double getArea() {
return width * height;
}
public double getPerimeter() {
return 2 * (width + height);
}
}
```
3.
```java
public class Student {
private String name;
private int age;
private String gender;
public Student(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public void study() {
System.out.println(name + "正在学习");
}
public void sleep() {
System.out.println(name + "正在睡觉");
}
}
```
四、简答题
1. 面向对象编程的特点有哪些?
面向对象编程的特点有封装、继承和多态。
封装是指将数据和方法封装在一个类中,通过访问权限控制来隐藏内部细节,提供对外的接口,使得代码更加模块化和可维护。
继承是指通过定义一个新的类来继承已有的类的属性和方法,可以重用已有的代码,减少重复编写,提高代码的复用性。
多态是指同一种类型的对象,在不同的情况下表现出不同的行为,通过方法的重写和重载实现,提高代码的灵活性和可扩展性。
2. 什么是构造方法?构造方法有什么特点?
构造方法是一种特殊的方法,用于创建对象时进行初始化操作。构造方法的名称必须与类名相同,没有返回值类型,可以有参数,可以重载。
构造方法的特点有:
- 构造方法在创建对象时自动调用,用于初始化对象的成员变量。
- 构造方法可以有多个,通过参数的不同进行重载,用于满足不同的对象创建需求。
- 如果没有显式定义构造方法,编译器会自动生成一个无参构造方法。
- 如果显式定义了构造方法,编译器不会自动生成无参构造方法,需要手动添加。
3. 什么是方法的重写?如何实现方法的重写?
方法的重写是指子类重新定义父类中已有的方法,使得子类可以根据自己的需求来实现方法的具体逻辑。方法的重写可以实现多态性。
实现方法的重写需要满足以下条件:
- 子类的方法名称、参数列表和返回值类型必须与父类的方法相同。
- 子类的访问权限不能低于父类的访问权限。
- 子类的方法不能抛出比父类方法更多或更宽泛的异常。
在子类中使用`@Override`注解可以帮助检查是否正确重写了父类的方法。
4. 什么是方法的重载?如何实现方法的重载?
方法的重载是指在同一个类中定义多个方法,它们具有相同的名称但参数列表不同,可以根据不同的参数来执行不同的操作。
实现方法的重载需要满足以下条件:
- 方法名称相同。
- 参数列表不同,包括参数的个数、类型或顺序。
- 返回值类型可以相同也可以不同。
方法的重载可以提高代码的复用性和可读性,使得代码更加灵活。
五、综合题
```java
public class Shape {
private String color;
public Shape(String color) {
this.color = color;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getArea() {
return 0;
}
public double getPerimeter() {
return 0;
}
}
public class Circle extends Shape {
private double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
@Override
public double getArea() {
return Math.PI * radius * radius;
}
@Override
public double getPerimeter() {
return 2 * Math.PI * radius;
}
}
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(String color, double width, double height) {
super(color);
this.width = width;
this.height = height;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
}
@Override
public double getArea() {
return width * height;
}
@Override
public double getPerimeter() {
return 2 * (width + height);
}
}
public class Test {
public static void main(String[] args) {
Circle circle = new Circle("红色", 5);
System.out.println("圆的颜色:" + circle.getColor());
System.out.println("圆的半径:" + circle.getRadius());
System.out.println("圆的面积:" + circle.getArea());
System.out.println("圆的周长:" + circle.getPerimeter());
Rectangle rectangle = new Rectangle("蓝色", 3, 4);
System.out.println("矩形的颜色:" + rectangle.getColor());
System.out.println("矩形的宽度:" + rectangle.getWidth());
System.out.println("矩形的高度:" + rectangle.getHeight());
System.out.println("矩形的面积:" + rectangle.getArea());
System.out.println("矩形的周长:" + rectangle.getPerimeter());
}
}
```
以上是2023年秋季广东开放大学Java程序设计基础形成性考核平时作业的参考答案。希望对同学们的学习有所帮助!
微信扫码添加好友
如二维码无法识别,可拨打 13662661040 咨询。