我正在完成Java編程課程的家庭作業任務,並且無法理解subclcass的概念。Java中子類的實現
這裏有一個問題:
定義類圖書,其中包含標題和 頁數數據字段。包括獲取和設置這些字段的方法。接下來, 創建一個名爲Textbook的子類,其中包含一個附加字段 ,該附加字段包含教科書的成績級別,以及其他方法獲取並設置成績級別字段的 。編寫一個應用程序, 使用每個類的對象進行演示。將文件另存爲Book.java, Textbook.java和DemoBook.java。
這裏是我的Book.java代碼:
public class Book
{
String bookTitle;
int numPages;
private void setBTitle(String title)
{
bookTitle = title;
}
private void setBPages(int pages)
{
numPages = pages;
}
private String getBTitle()
{
return bookTitle;
}
private int getBPages()
{
return numPages;
}
public void displayBookInfo()
{
System.out.println("The book's title is: " + bookTitle + ".");
System.out.println("The number of pages is: " + numPages + ".");
}
}
這裏是我的Texbook.java代碼:
public class Textbook extends Book
{
int gradeLevel;
public int getGLevel()
{
return gradeLevel;
}
public void setGLevel(int level)
{
gradeLevel = level;
}
}
如果我其實真的有兩個部分是正確的,如何我會在DemoBook.java文件中實現這個嗎?
任何幫助或方向將不勝感激。
這裏是我的DemoBook.java文件代碼:
import java.util.Scanner;
public class DemoBook
{
public static void main(String[] args)
{
String BTitle;
int BPages;
int BLevel;
Book b = new Book();
Textbook t = new Textbook();
Book bt = new Textbook();
Scanner input = new Scanner(System.in);
System.out.println("Please enter the title of your book: ");
BTitle = input.nextLine();
System.out.println("Please enter the number of pages: ");
BPages = input.nextInt();
System.out.println("Please enter the grade level: ");
BLevel = input.nextInt();
b.setBTitle(BTitle);
b.setBPages(BPages);
t.setGLevel(BLevel);
b.displayBookInfo();
}
}
我改變的變量私有的,這是編譯器錯誤,我得到:
DemoBook.java:33: error: setBTitle(String) has private access in Book
b.setBTitle(BTitle);
^
DemoBook.java:34: error: setBPages(int) has private access in Book
b.setBPages(BPages);
^
2 errors
我還是不抓這個。本章標題爲「繼承導論」。
通過我的閱讀,'DemoBook.java'將成爲「使用每個類的對象進行演示的應用程序」。 – ruakh
我也建議讓變量保密。你有獲取和提供訪問權限的獲取者和設置者。 – user219882