Как уже отмечалось в комментариях arkascha
, счетчик перезаписывается каждый раз при создании нового объекта.Но это не единственная ошибка в вашем коде.
Вы получаете следующую ошибку: The constructor Post_it(String) is undefined
, что означает, что компилятору не удалось найти конструктор Post_it
с существом String
единственный аргумент.
Вы можете исправить это, добавив LocalTime
к вызову конструктора:
new Post_it("Text text text", LocalTime.now())
Теперь к вашему счетчику - вы определили переменную как number
, но получите доступPost_it.numbers
что не совсем верно.Это, очевидно, должно быть Post_it.number
.
Однако вы можете удалить статический счетчик с помощью List
, так как он не имеет никакого смысла для определения переменных, как вы.Вот почему существуют такие вещи, как List
или Array
.Я просто немного изменил ваш код, вот мой подход:
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.List;
public class Post_it
{
private String note;
private LocalTime time;
public Post_it(String note, LocalTime time)
{
this.note = note;
this.time = time;
}
public static void main(String[] args)
{
List<Post_it> posts = new ArrayList<>();
posts.add(new Post_it("Text text text", LocalTime.now()));
posts.add(new Post_it("Text Text", LocalTime.now()));
posts.add(new Post_it("Text", LocalTime.now()));
System.out.println(posts.size());
}
}