类与对象基础
1. 定义一个名为Student的类,包含以下属性:姓名(name)、年龄(age)和成绩(score),以及以下方法:
Student的构造方法,用于初始化姓名、年龄和成绩。getAge()方法,返回学生的年龄。getScore()方法,返回学生的成绩。setScore(int newScore)方法,用于设置学生的成绩。
public class Student {
private String name;
private int age;
private int score;
public Student(String name, int age, int score) {
this.name = name;
this.age = age;
this.score = score;
}
public int getAge() {
return age;
}
public int getScore() {
return score;
}
public void setScore(int newScore) {
this.score = newScore;
}
}
2. 创建一个Student对象,并打印出其姓名、年龄和成绩。
public class Main {
public static void main(String[] args) {
Student student = new Student("Alice", 20, 85);
System.out.println("Name: " + student.name);
System.out.println("Age: " + student.age);
System.out.println("Score: " + student.score);
}
}
继承与多态
3. 定义一个名为Teacher的类,继承自Student类,并添加以下属性和方法:
- 属性:职称(
title)。 - 方法:
getTeacherTitle()方法,返回教师职称。
public class Teacher extends Student {
private String title;
public Teacher(String name, int age, int score, String title) {
super(name, age, score);
this.title = title;
}
public String getTeacherTitle() {
return title;
}
}
4. 创建一个Teacher对象,并打印出其姓名、年龄、成绩和职称。
public class Main {
public static void main(String[] args) {
Teacher teacher = new Teacher("Bob", 40, 95, "Professor");
System.out.println("Name: " + teacher.getName());
System.out.println("Age: " + teacher.getAge());
System.out.println("Score: " + teacher.getScore());
System.out.println("Title: " + teacher.getTeacherTitle());
}
}
封装与访问控制
5. 将Student类中的属性name和score设置为私有(private),并提供相应的公共(public)访问器(getter)和修改器(setter)方法。
public class Student {
private String name;
private int age;
private int score;
// 省略其他代码...
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getScore() {
return score;
}
public void setScore(int newScore) {
this.score = newScore;
}
}
6. 创建一个Student对象,并通过访问器方法修改其姓名和成绩,然后打印出来。
public class Main {
public static void main(String[] args) {
Student student = new Student("Alice", 20, 85);
student.setName("Bob");
student.setScore(90);
System.out.println("Name: " + student.getName());
System.out.println("Score: " + student.getScore());
}
}
抽象与接口
7. 定义一个名为Animal的抽象类,包含以下抽象方法:
makeSound():输出动物的声音。
public abstract class Animal {
public abstract void makeSound();
}
8. 创建一个名为Dog的类,继承自Animal抽象类,并实现makeSound()方法。
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof! Woof!");
}
}
9. 创建一个Dog对象,并调用其makeSound()方法。
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
dog.makeSound();
}
}
通过以上实战练习题,你将更加深入地理解Java面向对象编程中的类与对象、继承、多态、封装和抽象等概念。希望这些练习题能够帮助你轻松掌握Java面向对象编程的核心思想。
