设置&获取方法 - Java

时间:2014-10-26 21:38:28

标签: java methods get set tostring

我是Java的新手并且已经完成了一些任务,到目前为止我已经完成了下面显示的第一部分:

" 1。设计具有以下属性的类手册:

序列号 - 字符串, - 默认:??????

title - string, - default:Untitled

author - string, - default:Unknown

编写构造函数和方法,以在控制台上打印手册的详细信息。 "

代码:

public class Manual {

    String serialNumber, title, author;

    public static void main(String [] args){
        Manual man= new Manual();
        man.printDetails();
    }

    public Manual(){
        serialNumber = "??????";
        title = "Untitled";
        author = "Unknown";
    }

    public void printDetails(){
        System.out.println("Serial Number = " +serialNumber+" Title = "+ title+" Author = "+author);}



}

对于下一节,我被要求:

" 2。通过编写以下附加方法修改手册类:设置和获取手册属性的方法

向用户询问手册详情的方法

toString()方法。 "

到目前为止,我已尝试过这套装置。获取该部分的方法部分,我的代码如下:

public class Manual {

    String serialNumber, title, author;

    public static void main(String [] args){
        Manual man= new Manual();
        man.printDetails();
    }

    public Manual(){
        serialNumber = "??????";
        title = "Untitled";
        author = "Unknown";
    }

    public String getserialNumber(){
        return serialNumber;
    }

    public String gettitle(){
        return title;
    }

    public String getauthor(){
        return author;
    }

    public void setserialNumber(String serialNumber){
        serialNumber = ??????;
    }

    public void settitle(String title){
        title = Untitled;
    }

    public void author(String author){
        author = Unknown;
    }

    public void printDetails(){
        System.out.println("Serial Number = " +serialNumber+" Title = "+ title+" Author = "+author);}



}

有人能够告诉我,我到目前为止的代码是正确的吗?如果需要进行任何更改。此外,任何帮助下一个任务的帮助将不胜感激。

谢谢

3 个答案:

答案 0 :(得分:1)

好吧,我不认为你的代码会编译!? getter / setter的目的是改变(设置)或获取对象。 你的二传手应该看起来像这样:

public void setTitle(String title){
        this.title = title;
}

或者这个:

public void setTitle(String anotherVariableName){
        title = anotherVariableName;
}

答案 1 :(得分:0)

这不正确:

  1. 您的方法名称不遵循方法命名规则,因为它们不是camelCase。
  2. 有一个设置作者的方法'作者'。它应该是:'setAuthor'。
  3. 'settitle'和'author'方法中有什么'未知'的东西?
  4. 你有没有试过编译它?!

答案 2 :(得分:0)

你走在正确的轨道上。我可以看到你对你的二传手感到困惑。标题,作者和序列号是整个类可以访问的变量,因此在您的setter中,您可以直接将值放在其中。在setter的参数中,您应该具有与这些变量的名称不同的名称。例如:

public void setTitle(String t)
{
    title = t;
}

该函数将通过其参数(String t)传递一个字符串,并将该值放在title中。现在,您将默认值放入变量设置器中,这是不正确的。默认值是默认构造函数,您正确执行了该操作。为了帮助您了解更多内容,我将举例说明您的测试类可能是什么样的:

Manual myManual = new Manual(); //now that the Manual Object has been instantiated, 
                                //the variables contain the default values from your 
                                //default constructor.

myManual.setTitle("Some Title"); //"Some Title" was passed through the parameters of the 
                                 //setTitle method, and the title variable in Manual is equal
                                 //that value

在旁注中,您可以始终将方法,变量等标题中第一个单词后面的单词的开头大写.setTitle,getAuthor等


编辑:

第一段代码是您的setter在Manual类中的外观。您应该将所有设置器更改为格式相似。所有评论的第二行将在主要方法中。

此外,我查看了您的pastebin代码,您仍然将设置器中的变量设置为默认值。这是不正确的。您应该将变量设置为通过参数传递的任何内容。