среда, 28 января 2015 г.

Static

статик- это когда всем объектам нужно share одну переменную
вообщем: представим что у нас есть какой-то клуб, и нам нужно посчитать сколько там людей. количество людей и есть статик- то, что все они делят
Соответственно вот код для туны:
public class tuna{
private String first; - создаем переменные имя
private String last; - создаем переменные фамилия
private static int members=0;  - создаем переменную члены клуба- и это интеджер(он общий потому что статик)
public tuna(String fn, String ln){   - задаем аргументы для публичного метода
first=fn;   - приравниваем
last=ln;
members++; - счетчик помним начинаетсяя с нуля- но с каждым членом увеличивается на 1!
System.out.printf("Constructor for %s %s, member of the club: %d\n", first, last, members);
}
и для эпплс: 
class apples {
public static void main(String[] args){
tuna member1=new tuna("Megan", "fox");
tuna member2=new tuna("Natalie ", "portman");
tuna member3=new tuna("Tailor", "swift");
}
}
результат:
Constructor for Megan fox, member of the club: 1
Constructor for Natalie  portman, member of the club: 2
Constructor for Tailor swift, member of the club: 3


и еще можно во как сделать:
,берем старый пример и просто дополняем его
public class tuna{
private String first;
private String last;
private static int members=0;

public tuna(String fn, String ln){
first=fn;
last=ln;
members++;
System.out.printf("Constructor for %s %s, member of the club: %d\n", first, last, members);
}

public String getFirst(){
return first;
}
public String getLast(){
return last;
}
public static int getMembers(){
return members;
}
class apples {
public static void main(String[] args){
tuna member1=new tuna("Megan", "fox");
tuna member2=new tuna("Natalie ", "portman");
tuna member3=new tuna("Tailor", "swift");
System.out.println();
System.out.println(member2.getFirst());
System.out.println(member2.getLast());
System.out.println(member2.getMembers());
System.out.println();
System.out.println(member1.getFirst());
System.out.println(member1.getLast());
System.out.println(member1.getMembers());
}
}
и на выходе имеем результат
Constructor for Megan fox, member of the club: 1
Constructor for Natalie  portman, member of the club: 2
Constructor for Tailor swift, member of the club: 3

Natalie 
portman
3

Megan
fox
3


то, что жирненькое- добавлено и в результате отображено.
это еще 1 пример использования STATIC- показывает что переменная members- она SHARED между всеми другими переменными введенными в туну.

статическая информация доступна даже тогда, когда нет объекта
код: System.out.println(tuna.getMembers());
результат: 3









Комментариев нет:

Отправить комментарий