百年教育职业培训中心 百年教育学习服务平台
题库试卷

2023年秋季广东开放大学Java程序设计基础形成性考核平时作业参考答案

来源: 更新时间:

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

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

正确 答案:微信搜索【 广开搜题 】公众号

广东开放大学 2023年春季招生简章


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程序设计基础形成性考核平时作业的参考答案。希望对同学们的学习有所帮助!

电话咨询