題目描述
Java的抽象類別是一種不能被實體化的類別,它通常會作為一個父類別來讓底下的子類別繼承使用。
以下是抽象類別的範例:
abstract class Book
{
String title;
abstract void setTitle(String s);
String getTitle()
{
return title;
}
}
如果您想嘗試用如以下程式碼的方式建立一個抽象類別的實體物件,將會得到錯誤:
Book new_novel = new Book();
您必須建立其他的類別來繼承這個抽象類別,才可以用這個新類別來產生物件實體。
注意setTitle方法也是抽象的,沒有程式區塊(body),這表示繼承這個抽象類別的子類別,必須要實作出這個setTitle方法的程式區塊。
原題網址
範例輸入
A tale of two cities
範例輸出
The title is: A tale of two cities
解題概念
撰寫MyBook類別,繼承Book抽象類別,並實作出Book抽象類別的setTitle抽象方法。
參考答案
import java.util.Scanner;
public class Solution {
public static void main(final String[] args) {
final Scanner sc = new Scanner(System.in);
final String title = sc.nextLine();
final MyBook new_novel = new MyBook();
new_novel.setTitle(title);
System.out.println("The title is: " + new_novel.getTitle());
}
}
class MyBook extends Book {
@Override
String getTitle() {
return title;
}
@Override
void setTitle(final String s) {
title = s;
}
}
abstract class Book {
String title;
abstract void setTitle(String s);
String getTitle() {
return title;
}
}