Какое значение статического ключевого слова в Java и в C ++? - PullRequest
0 голосов
/ 24 октября 2009

Какое значение ключевого слова Static в Java и в C ++ и как оно отличается в обоих языках программирования?

Ответы [ 5 ]

3 голосов
/ 24 октября 2009

Возможно, эта ссылка поможет вам лучше понять: http://www.pp.rhul.ac.uk/~george/PH2150/html/node48.html

Имеет визуальную диаграмму, которая может облегчить понимание.

2 голосов
/ 24 октября 2009

Есть 2 значения для статики. Первое, если у вас есть статическая переменная, это означает, что существует только 1 экземпляр этой переменной. Он работает практически одинаково на всех языках программирования с ключевым словом.

Статическая функция - это функция, которую можно вызывать, даже если класс, в котором она находится, не создан. Статические функции необходимы в C # и Java, потому что вы не можете объявлять функции на этих языках, которые не имеют охватывающего класса.

в C ++ вы можете объявлять функции в глобальном пространстве имен. В этом языке статические функции используются для обозначения того, что функция принадлежит классу, но вам не нужно создавать экземпляр класса для использования функции. Вы можете использовать статическую функцию для доступа к закрытым переменным класса. Также обратите внимание, что в C ++ статические функции имеют известный адрес памяти, поэтому вы можете использовать указатели на функции, чтобы указывать на них без создания экземпляра класса.

1 голос
/ 29 ноября 2013

Используйте static для полей и методов, которые могут иметь только один экземпляр. Это означает, что они не относятся к экземплярам класса, но относятся к самому классу. Например основной поток (публичный статический void main).

1 голос
/ 24 октября 2009

Для Java Понимание экземпляров и членов класса - хорошее место для начала.

Для C ++ у Microsoft есть ссылка на ключевое слово static .

Существует множество легко доступных ресурсов по языку программирования, которые помогут вам понять, что означает ключевое слово static. Выше приведены два из них, которые я нашел с помощью быстрого поиска в Google.

0 голосов
/ 24 октября 2009

Работает одинаково на обоих языках. Я предполагаю, что вы знаете, что такое объектно-ориентированное программирование и в чем разница между классами и объектами / экземплярами. Таким образом, если вы помечаете метод или переменную как «статические», они работают на уровне класса, а не на уровне экземпляра. Все объекты / экземпляры имеют одинаковое значение «статической» переменной.

...