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; // 初始化专业属性。