Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
7Alex
216 / 0 / 1
Регистрация: 24.06.2014
Сообщений: 144
#1

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

24.07.2014, 08:23. Просмотров 871. Ответов 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):

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

Ошибка "Unknown method "e" of "org.apache.commons.logging.Log"
Unknown method 'e' of 'org.apache.commons.logging.Log' package...

Постепенно вывести на экран слово "Java", в котором буквы состоят из "интересных" элементов
Я учусь в универе и вот пытаюсь делать лабораторные по языку java, только на...

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

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

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

3
Tester64
396 / 357 / 46
Регистрация: 22.05.2013
Сообщений: 2,518
24.07.2014, 09:58 #2
Лучший ответ Сообщение было отмечено 7Alex как решение

Решение

В яве с подобными конструкциями не стыкался, но по другим языкам знаю...
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 как решение

Решение

Цитата Сообщение от 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.07.2014, 22:30
Привет! Вот еще темы с решениями:

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

блокирование кнопок "Home" "Back"
Доброго времени. собственно вопрос сл. можно ли заблокировать или каким либо...

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

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


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

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

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