2015-11-19 6 views
1

Я не уверен, как создать метод setter в java.
Все, что я нашел в Интернете, либо показывает, как «сгенерировать» один в затмении или не включать то, что я ищу.Как создать «сеттер» в Java

Я ищу простой ответ в простых выражениях, если это возможно.
Я понимаю, что делает setter-method, но я не уверен в синтаксисе и конкретном коде.

Спасибо за ваше время.

+1

Кроме того, если вы сгенерируете его с помощью Eclipse, просто следуйте одному и тому же синтаксису для его записи. Это так просто. – dguay

+2

Я предполагаю, что вы думаете о геттерах и сеттерах с точки зрения C#, где есть фактический встроенный синтаксис для них. У Java этого нет. В Java getter и setter - это просто функция с сигнатурой 'Object getObject()' и 'void setObject (Object object)'. В противном случае они не отличаются от других функций в java, помимо использования соглашения об именах get/set. Обоснование соглашения об именах - позволить приложениям легко находить функции доступа с помощью отражения. –

ответ

2

Setter - это метод, который устанавливает значение для одного из ваших параметров. Например. многие люди говорят, что это не приятно иметь публичную переменную в классе:

public class SomeClass { 
    public int someInt = 0; 
} 

теперь вы можете получить доступ к переменной someInt непосредственно:

SomeClass foo = new SomeClass(); 
foo.someInt = 13; 

Вы должны скорее сделать что-то подобное:

public class SomeClass { 
    private int someInt = 0; 

    // Getter 
    public int getSomeInt() { 
     return someInt; 
    } 

    // Setter 
    public void setSomeInt(int someIntNew) { 
     someInt = someIntNew; 
    } 
} 

и получить к нему доступ:

SomeClass foo = new SomeClass(); 
foo.setSomeInt(13); 

Все это просто конвенция ... Вы могли бы назвать свой метод сеттера, как хотите! Но getters и seters - хороший (и читаемый) способ определить доступ к вашим варибельным классам по своему усмотрению (если вы хотите сделать его доступным только для чтения, вы можете просто написать getter, если вы не хотите, чтобы кто-либо прочитайте значение, которое вы могли бы только написать установщиком, вы могли бы защитить их и т. д.)

+0

Спасибо! Это именно то, что я искал. Это просто и понятно. Я прошу прощения за поздний ответ, но я решил немного отдохнуть и поработать над другой программой в надежде получить новый взгляд на этот, когда вернусь. – matt

+0

приветствую друга! Я рад, что могу помочь! – ParkerHalo

3

Я предполагаю, что вы имеете в виду метод сеттера, как в заданном объекте?

private String yourString; 

public void setYourString(String yourString) { 
    this.yourString = yourString; 
} 

Это базовый код, хотя вы, вероятно, имеете в виду что-то еще?

Дайте мне знать.

2

Небольшой код геттер и сеттер

public class Test { 

    String s; 

    public String getS() { 
     return s; 
    } 

    public void setS(String s) { 
     this.s = s; 
    } 

} 

Преимущество сеттер является то, что сеттер может делать проверки готовности и бросить IllegalArgumentException.

Смежные вопросы