Разница между директивами public и local при объявлении переменных заключается в области видимости:
- Директива public. 25 Переменные с такой директивой видны из любого места приложения с момента их создания. 2 Они статичны: память под переменные выделяется в момент старта виртуальной машины и существует до конца её работы. 1
- Директива local. 12 Переменные с такой директивой видны только внутри одного блока, где они были объявлены. 2 Они создаются динамически после входа в блок и уничтожаются после выхода из него. 1
Таким образом, public-переменные доступны из любого места программы, а локальные — только внутри определённого блока. 12