运行结果:
public class SpeakTest {
public static void main(String[] args) {
Speak teacher = new TeacherSpeak("赖老师");
Speak student = new StudentSpeak("张三");
teacher.say("JAVA面向对象有那3大特征?");
student.say("封装,继承及多态。");
}
}
abstract class Speak{
String name;
abstract void say(String content);
}
class TeacherSpeak extends Speak{
public TeacherSpeak() {
}
public TeacherSpeak(String name) {
this.name = name;
}
@Override
void say(String content) {
System.out.println(name+"问:"+content);
}
}
class StudentSpeak extends Speak{
public StudentSpeak() {
}
public StudentSpeak(String name) {
this.name = name;
}
@Override
void say(String content) {
System.out.println(name+"回答:"+content);
}
}
定义老师和学生两个抽象类,其中老师类定义一个提问的抽象方法,学生类定义一个回答的抽象方法。然后用具体两个类分别继承他们就可以了
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632