Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
7Alex
216 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 144
#1

Что означают конструкции "finally" и "throw new"? - Программирование Android

24.07.2014, 08:23. Просмотров 829. Ответов 3
Метки нет (Все метки)

Я с Java уже давно, но с этим столкнулся в первый раз. Объясните, пожалуйста, что означают вот это
"finally" и "throw new". Вот пример кода, где они встречаются:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
try
{
}
catch (Exception e)
{
    throw new RuntimeException("Couldn't load texture '" + fileName +"'", e);
}
finally
{
    if (in != null)
    try
    {
    }
    catch (Exception e)
    {
    }
}
И что означает вот это "TextureRegion ... keyFrames", вот именно три точки что означают непонятно.
Java
1
2
3
public Animation(float f, TextureRegion ... keyFrames)
{
}
Добавлено через 9 минут
И что означает "synchronized(this)"? Пожалуйста, помогите разобраться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2014, 08:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что означают конструкции "finally" и "throw new"? (Программирование Android):

Работа с БД, связывание таблиц "фильмы", "жанры", "режиссеры" - Программирование Android
Ребят, всем привет! накидайте какие-нить идеи по реализации ситуация такая есть таблицы - "списки_жанров", "фильмы", "режиссеры" мне...

Ошибка "Unknown method "e" of "org.apache.commons.logging.Log" - Программирование Android
Unknown method 'e' of 'org.apache.commons.logging.Log' package com.mycompany.myapp; import android.widget.*; import...

Постепенно вывести на экран слово "Java", в котором буквы состоят из "интересных" элементов - Программирование Android
Я учусь в универе и вот пытаюсь делать лабораторные по языку java, только на свой телефон с помощью android studio )) До этого все...

Выбор платформы разработки "1С Мобильная платформа" или "Android Studio" - Программирование Android
Всем, здравствуйте! Есть задача по разработке клиента для терминала сбора данных. Для использования его c WMS. После долгих раздумий было...

При эмулировании вместо надписи "Hello world" отображается "android" - Программирование Android
Привет форумчане! Я только-только начинал программировать на андроиде. Поставил среду, все настроил как на google.developers . Когда...

Как прикрутить "свой браузер" к странице - "фрагмент" - Программирование Android
здравствуйте. все, уже голову сломал. не соображаю совсем. не получается прикрутить код браузера к странице fragments.выводиться должно на-...

3
Tester64
396 / 357 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
24.07.2014, 09:58 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
В яве с подобными конструкциями не стыкался, но по другим языкам знаю...
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
try
{
// рабочее тело
}
catch (Exception e)
{
    //здесь идет обрабока исключения. например в теле деление на 0
}
finally
{
  // а сюда попадаем в случае экстренного завершения тела. 
 //сюда обычно помещают деструкторы которые обязательно нужно вызвать, даже если в коде был return...
}
synchronized это кусок технологии общения нескольких потоков - останавливаем один поток что-бы сделать что-то в другом. Но это слишком сложно чтобы одним предложением описать... Это многостраничная теория... В Делфи помню с картинками на А4 распечатал где-то на 50-100 листов мелким шрифтом...
1
forcelain
6 / 6 / 1
Регистрация: 14.07.2014
Сообщений: 28
25.07.2014, 09:16 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от 7Alex Посмотреть сообщение
что означает вот это "TextureRegion ... keyFrames", вот именно три точки что означают непонятно.
Они означают переменное количество аргументов. Внутри этого метода keyFrames будет являться массивом TextureRegion[] keyFrames, в котором будут находится значения аргументов, которые передали в этот метод.

Вот простой пример

Java
1
2
3
4
5
6
7
8
void foo(Integer... params){
    for (int = 0; i < params.length; i++){
        System.out.println(params[i]);     
    }
}
 
при вызове foo(3, 4, 5);
напечатается "3", "4", "5" :)
касаемо finally и throw Вам нужно почитать про исключения, в двух словах не получится объяснить
1
forcelain
6 / 6 / 1
Регистрация: 14.07.2014
Сообщений: 28
28.07.2014, 22:30 #4
Tester64, не путайте людей, finally вызывается в любом случае, даже если исключения не случилось и даже если случилось другое исключение, т.е. не из той иерархии, вершина которого указана в
Java
1
catch (Exception e)
0
28.07.2014, 22:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 22:30
Привет! Вот еще темы с ответами:

Как "превратить" string "6.971245e-001" во float? - Программирование Android
Число конечно пример

блокирование кнопок "Home" "Back" - Программирование Android
Доброго времени. собственно вопрос сл. можно ли заблокировать или каким либо образом отключить возможность нажатия пользования кнопок...

Ошибка "Gradle"MyApplication" projectrefresh failed - Программирование Android
Всем доброго вечера. Только начинаю писать под андроид, и на одном из первых этапов возникла такая ошибка. Создал проект (эмулятор не...

Раздел "ЧТО НОВОГО" где добавлять текст? - Программирование Android
Доработал программу, хочу выложить обновления, не могу раздел найти &quot;ЧТО НОВОГО&quot;, где его искать?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru