Другие языки программирования и технологии
В чем различие ключевых слов public и static в java? И объясните конкретно , что такое экземпляр класса.
В литературе пишут : public -делает класс ,метод, переменную доступными для любого другого класса. Static-делает метод или переменную принадлежащую классу в противоположность экземпляра класса.Экземпляр класса-какой-либо объект принадлежащий какому-либо классу.Мне кажется,что public и static обладают одинаковыми свойствами.
Просто поймите разницу между классом и объектом. Класс - это абстракция, он описывает структуру какой-нибудь сущности. Например человек, он имеет рост, вес. Объект - это экземпляр класса. В нашем примере - это конкретный человек ростом 180 сантиметров и весом 80 килограммов.
ПАБЛИК - задаёт видимость членов класса. Если член класса объявлен как ПАБЛИК (но не СТАТИК) , то после создания объекта этот член будет доступен всем другим классам и объектам этих классов. Этому члену нельзя будет присвоить или получить значение без создания объекта.
Статик - объявляет, что свойство принадлежит именно классу, а не объекту. Получить и присвоить значение статическому члену можно только использую класс, а не объекты этого класса.
То есть ПАБЛИК задает видимость (могут ли использовать этом член) другие классы и объекты, а СТАТИК определяет, у кого надо этот член искать (у класса или у объекта) . Надеюсь я ответил на вопрос.
ПАБЛИК - задаёт видимость членов класса. Если член класса объявлен как ПАБЛИК (но не СТАТИК) , то после создания объекта этот член будет доступен всем другим классам и объектам этих классов. Этому члену нельзя будет присвоить или получить значение без создания объекта.
Статик - объявляет, что свойство принадлежит именно классу, а не объекту. Получить и присвоить значение статическому члену можно только использую класс, а не объекты этого класса.
То есть ПАБЛИК задает видимость (могут ли использовать этом член) другие классы и объекты, а СТАТИК определяет, у кого надо этот член искать (у класса или у объекта) . Надеюсь я ответил на вопрос.
Андрей Крутов
спасибо про статик все понятно
Я программист С++, но это вам объяснить смогу.
public - это переменная к которой вы можете обратиться и напрямую изменить её.
class my1
{
public:
int a;
}
my1 mc;
mc.a = 10;
Если бы я объявил private или protected, то доступа таким способом соответственно бы не было.
static - переменная, это переменная общая для всех классов данного типа и дочерних классов.
т. е.
class my2
{
public:
static int b;
}
my2 mc;
my2 mc2;
mc.b = 10
При этом в mc2 переменная b будет тоже содержать число 10.
Если static используется в функции, то после завершения она останется в памяти и при следующем вызове будет содержать последнее положенное в неё число. (хотя здесь я возможно путаю с extern).
public - это переменная к которой вы можете обратиться и напрямую изменить её.
class my1
{
public:
int a;
}
my1 mc;
mc.a = 10;
Если бы я объявил private или protected, то доступа таким способом соответственно бы не было.
static - переменная, это переменная общая для всех классов данного типа и дочерних классов.
т. е.
class my2
{
public:
static int b;
}
my2 mc;
my2 mc2;
mc.b = 10
При этом в mc2 переменная b будет тоже содержать число 10.
Если static используется в функции, то после завершения она останется в памяти и при следующем вызове будет содержать последнее положенное в неё число. (хотя здесь я возможно путаю с extern).
Разница между классом и экземпляром класса в следующем: предположим класс это описанеие определённого типа данных, тогда объект/экземпляр класса это переменная этого типа. Вообще в Объектно Ориентиированных языках так и есть существует не редко класс для каждого типа. Int например в .NET имеет класс в пространстве имён System.Int32. В Java аналогично скорее всего.
Похожие вопросы
- Что за ключевые слова extern и static в С++?
- С++, объект класса, экземпляр класса, какой тип переменной хранит экземпляр класса? (экземпляр это что? Word, lpstr..?)
- Экземпляра класса, объекты
- Как продвигать в топ конкретное ключевое слово?.
- Pascal. Ключевые слова и операторы - это одно и тоже?
- Циклы: ПОКА, ДЛЯ, ДО. Объясните как они работают, и в чом их различие. Простыми словами пожалуйста.
- си шарп что такое экземпляры класса?
- Если термины "экземпляр класса" и "объект" взаимозаменяемы, зачем тогда нужен первый термин?
- поисковики не видят ключевых слов сайта. в чем может быть дело? что проверить?
- Как поднять индексную страницу сайта в яндексе, по ключевому слову?