Что означает использование «.» Без объекта в Android (или java)?

Я не уверен, но это, вероятно, вопрос Java, а не специфический для Android. В Android SDK, когда я набираю «.» На пустой строке он показывает мне меню опций:

Введите описание изображения здесь

Класс MyThread объявляется внутри класса MainActivity (который расширяет Activity и реализует некоторые другие интерфейсы для пользовательского интерфейса). Обычно это меню появляется, когда «.» Оператор помещается после объекта, и он показывает данные и функции члена, объявленные в классе, из которых этот объект является экземпляром. Однако здесь нет объекта, но он покажет мне это меню. Почему это так? Если я просто выбираю функцию и размещаю ее здесь, какая функция объекта запускается?

Также, помещая это "." В позиции 1 показана ошибка. Позиция 1 находится только внутри класса MainActivity. Почему здесь отображается ошибка, но не в позиции, показанной на картинке?

. Приведет к созданию автозаполнения в eclipse, когда вы находитесь внутри своего класса (позиция 1 находится вне вашего класса, поэтому вместо этого вы получите предупреждение об ошибке) – все методы, которые вы видите, – это методы, которые ваш класс наследует от своих суперклассов, И доступны вам для использования или переопределения. Все объекты классов, которые вы создаете в Java, фактически являются подклассами Object, и, так как вы также расширяете поток, вы получаете множество разных методов от тех, которые вы выбираете.

РЕДАКТИРОВАТЬ:

. Будет работать только во внутренних классах или методах, казалось бы, если вы попытаетесь использовать Ctrl + Space в позиции 1, он должен вызвать контекстное меню, подобное тому, с чем вы сталкиваетесь . В других местах. Также стоит упомянуть, что на самом деле это особенность Eclipse (обычно называемая автосохранением или поддержкой содержимого), IDE, а не самим языком программирования Java. Справедливости ради следует отметить, что большинство хороших IDE будут иметь аналогичные функции, поэтому сделать легкую ошибку сделать 🙂

Вы можете более внимательно изучить это и ограничить ваши предпочтения в

Window -> Preferences -> JAVA -> Editor -> ContentAssist , хотя я рекомендую не возиться с настройками по умолчанию, если у вас нет очень специфической вещи, которую вы хотите изменить.

В настройках по умолчанию eclipse точка вызывает поддержку содержимого, будут всплывающие окна методов, которые могут быть перезаписаны от класса отца, который является нитью в вашем коде, и из всех классов extends Object, существуют методы из класса Object, которые могут быть перезаписаны , Вы можете увидеть это из серого комментария после имени метода.

Функция называется auto complete. Большинство поддержки IDE.

 What does using a “.” without an object in Android (or java) mean? 

Ваш вопрос немного неоднозначен. Вы только что поставили точку, и IDE попыталась автоматически завершить ее. Но в целом даже в черной строке, если вы выполняете автоматическое завершение (Ctrl + пробел) в eclipse / Intellij IDEA, вы получите такое же всплывающее окно.

Обычно точка означает доступ к статической переменной или вызов метода. Таким образом, IDE дает возможность выпадающего списка.

. Является одним из ярлыков для поддержки контента, поэтому у вас есть несколько предложений о том, что вы могли бы сделать дальше. Когда вы вводите переменную объекта, а затем точку, она предлагает методы или публичные поля из этого объекта. Когда вы вводите его на новой строке, предлагаете методы, готовые к переопределению в текущем классе …

По умолчанию символ ( тоже тот же:

 Completion can be triggered by user request or can be automatically triggered when the "(" or "." character is typed: public char[] getCompletionProposalAutoActivationCharacters() { return new char[] { '.', '(' }; } 

Из: помощь в помощи Eclipse

В java "." Является оператором, который используется для связи любого экземпляра, переменной, методода и т. Д. С любым типом, классом или интерфейсом.

Intereting Posts
Метод инъекции с использованием кинжала 2 AndroidPocketSphinx: как система узнает, какой распознаватель вызывается? Хорошее решение для сохранения элементов списка, когда пользователь поворачивает телефон и сохраняет все данные в ArrayAdapter Распространение (и обновление) корпоративного приложения для Android, которое будет использоваться только внутри компании Как показать значок apk в моем диспетчере файлов Как совместно использовать файл в андроиде Как получить список записей GreenDAO? Adb-устройства не работают над Mountain Lion Android LVL и InAppBilling: как выбрать текущую учетную запись пользователя для покупки? Как использовать элементы Actionbar с помощью Viewpager + Fragments Слушатель голоса SearchView Android ListView Перейти к позиции курсора Как справиться с отключением от сервисов Google Play? FragmentTransaction .attach и .detach для вкладок Actionbar Как импортировать RecyclerView для Android L-preview