java面向对象经典题目

admin 37 0

Java面向对象经典题目

一、概述

Java是一种面向对象的编程语言,它支持类和对象的概念,以及封装、继承和多态等核心特性,在Java中,面向对象编程是一种常见的编程范式,它有助于构建复杂的软件系统,为了帮助初学者更好地理解Java面向对象编程的概念,本文将介绍一些经典题目。

二、题目1:定义一个矩形类

定义一个矩形类,包含长和宽两个属性,以及计算面积和周长的方法。

示例代码:

public class Rectangle {
    private double length;
    private double width;

    public Rectangle(double length, double width) {
        this.length = length;
        this.width = width;
    }

    public double getArea() {
        return length * width;
    }

    public double getPerimeter() {
        return 2 * (length + width);
    }
}

三、题目2:定义一个汽车类

定义一个汽车类,包含颜色、品牌、型号和价格等属性,以及启动、停止和加速等方法。

public class Car {
    private String color;
    private String brand;
    private String model;
    private double price;
    private boolean isStarted;
    private int speed;

    public Car(String color, String brand, String model, double price) {
        this.color = color;
        this.brand = brand;
        this.model = model;
        this.price = price;
        this.isStarted = false;
        this.speed = 0;
    }

    public void start() {
        if (!isStarted) {
            isStarted = true;
            System.out.println("The car is started.");
        } else {
            System.out.println("The car is already started.");
        }
    }

    public void stop() {
        if (isStarted) {
            isStarted = false;
            System.out.println("The car is stopped.");
        } else {
            System.out.println("The car is already stopped.");
        }
    }

    public void accelerate() {
        if (isStarted) {
            speed++;
            System.out.println("The car is accelerated, current speed is " + speed + " km/h.");
        } else {
            System.out.println("The car is stopped, cannot be accelerated.");
        }
    }
}

四、题目3:定义一个学生类

定义一个学生类,包含姓名、年龄、性别和专业等属性,以及学习和就业方法,同时定义一个教师类,包含姓名、年龄、性别和专业等属性,以及教学和管理方法,实现学生和教师类的继承关系,并重写学习和教学方法。

学生类:

```java

public class Student extends Person {

private String major;

private boolean isEmployed;

private int salary;

public Student(String name, int age, String gender, String major) {

super(name, age, gender); // 调用父类构造函数初始化姓名、年龄和性别属性。

this.major = major; // 初始化专业属性。