Экземпляром какого класса является поле system err
Перейти к содержимому

Экземпляром какого класса является поле system err

  • автор:

Почему System.in объект ввода?

Для чтения символа с клавиатуры достаточно вызвать метод System.in.read() , где System. in — объект ввода (с клавиатуры), дополняющий объект вывода System.out . Давайте разберемся: System.in.read() — System это класс, in это переменная-константа, read() — это метод. Хотелось бы спросить почему в книге написано вот так:

Для чтения символа с клавиатуры достаточно вызвать метод System.in.read(), где System. in — объект ввода (с клавиатуры)

Почему System.in объект ввода? Почему не написано что за «входящий поток» отвечает константа in класса System , а написано что это объект ввода? Просто под объектом я представляю экземпляр класса, то есть аля:

System systemObj = new System(); 

Какой способ проверки «является ли объект экземпляром класса» быстрее?

Интересный вопрос.
Oчевидно, что способ getClass() != o.getClass() будет работать быстрее, чем instanceof , т.к. это только лишь сравнение ссылок.

Но эти два способа, в некоторых ситуациях, не эквиваленты между собой.
Приведу пример:

class Type<> SubType extends Type<> 

Если мы напишим:

Type type = new SubType() if(type instanceof Type) System.out.pritln("it's working!") if(type.getClass() == Type.class) System.out.pritln("it is not working!") 

Первая проверка выполнится, а вторая нет.

Теперь попробуем разобраться как реализована конструкция instanceof .
При компиляции она пребразуется в специальный для нее байткод инструкцию instanceof . Заглянем в исходники hotspot и посмотрим, как она генерируется в assembler код. Будет смотреть только для архитектуры x86.

Находим место, где обрабатывается intanceof jit компилятором:

. > else if (code == lir_instanceof) < Register obj = op->object()->as_register(); Register dst = op->result_opr()->as_register(); Label success, failure, done; emit_typecheck_helper(op, &success, &failure, &failure); . > . 
. > else < // perform the fast part of the checking logic __ check_klass_subtype_fast_path(klass_RInfo, k_RInfo, Rtmp1, success_target, failure_target, NULL); // call out-of-line instance of __ check_klass_subtype_slow_path(. ): __ push(klass_RInfo); __ push(k_RInfo); __ call(RuntimeAddress(Runtime1::entry_for(Runtime1::slow_subtype_check_id))); __ pop(klass_RInfo); __ pop(k_RInfo); // result is a boolean __ cmpl(k_RInfo, 0); __ jcc(Assembler::equal, *failure_target); // successful cast, fall through to profile or jump >. 

Здесь мы можем видеть две проверки check_klass_subtype_fast_path и check_klass_subtype_slow_path.
Во время работы программы jvm собирает некоторую информацию и статистику. Например, она может сохранять результаты предыдущих выполений instanceof и на основе этого делать предположения о типе. Более подробно об этом можно прочитать здесь . Быстрая проверка основывается на этой оптимизации и она не всегда может выполняться успешно, тогда вступает в дело более медленная check_klass_subtype_slow_path .

Для дальнейшего понимания, следует немного рассказать про класс src/hotspot/share/oops/klass.cpp . В нем содержится информация (барабанная дробь) о классе. Там есть много интересных полей, но нас интересует следующее:

 // The fields _super_check_offset, _secondary_super_cache, _secondary_supers // and _primary_supers all help make fast subtype checks. See big discussion // in doc/server_compiler/checktype.txt // Where to look to observe a supertype (it is &_secondary_super_cache for // secondary supers, else is &_primary_supers[depth()]. juint _super_check_offset; // Cache of last observed secondary supertype Klass* _secondary_super_cache; // Array of all secondary supertypes Array* _secondary_supers; // Ordered list of all primary supertypes Klass* _primary_supers[_primary_super_limit]; 

Видно, что в нем содержится массив со всеми родительскими типами, так же есть несколько полей для быстрой проверки типов .

Не будем рассматривать метод:

Там происходит лишь проверка закэшированных значений с проверяемым типом. Гораздо интереснее метод check_klass_subtype_slow_path

. Label L_fallthrough; int label_nulls = 0; if (L_success == NULL) < L_success = &L_fallthrough; label_nulls++; >if (L_failure == NULL) < L_failure = &L_fallthrough; label_nulls++; >// a couple of useful fields in sub_klass: int ss_offset = in_bytes(Klass::secondary_supers_offset()); int sc_offset = in_bytes(Klass::secondary_super_cache_offset()); Address secondary_supers_addr(sub_klass, ss_offset); Address super_cache_addr( sub_klass, sc_offset); // Do a linear scan of the secondary super-klass chain. // This code is rarely used, so simplicity is a virtue here. // The repne_scan instruction uses fixed registers, which we must spill. // Don't worry too much about pre-existing connections with the input regs. assert(sub_klass != rax, "killed reg"); // killed by mov(rax, super) assert(sub_klass != rcx, "killed reg"); // killed by lea(rcx, &pst_counter) // Get super_klass value into rax (even if it was in rdi or rcx). bool pushed_rax = false, pushed_rcx = false, pushed_rdi = false; if (super_klass != rax || UseCompressedOops) < if (!IS_A_TEMP(rax)) < push(rax); pushed_rax = true; >mov(rax, super_klass); > if (!IS_A_TEMP(rcx)) < push(rcx); pushed_rcx = true; >if (!IS_A_TEMP(rdi)) < push(rdi); pushed_rdi = true; >// We will consult the secondary-super array. movptr(rdi, secondary_supers_addr); // Load the array length. (Positive movl does right thing on LP64.) movl(rcx, Address(rdi, Array::length_offset_in_bytes())); // Skip to start of data. addptr(rdi, Array::base_offset_in_bytes()); // Scan RCX words at [RDI] for an occurrence of RAX. // Set NZ/Z based on last compare. // Z flag value will not be set by 'repne' if RCX == 0 since 'repne' does // not change flags (only scas instruction which is repeated sets flags). // Set Z = 0 (not equal) before 'repne' to indicate that class was not found. testptr(rax,rax); // Set Z = 0 repne_scan(); // Unspill the temp. registers: if (pushed_rdi) pop(rdi); if (pushed_rcx) pop(rcx); if (pushed_rax) pop(rax); if (set_cond_codes) < // Special hack for the AD files: rdi is guaranteed non-zero. assert(!pushed_rdi, "rdi must be left non-NULL"); // Also, the condition codes are properly set Z/NZ on succeed/failure. >if (L_failure == &L_fallthrough) jccb(Assembler::notEqual, *L_failure); else jcc(Assembler::notEqual, *L_failure); // Success. Cache the super we found and proceed in triumph. movptr(super_cache_addr, super_klass); if (L_success != &L_fallthrough) < jmp(*L_success); >. 

Могу ошибаться, но это очень похоже на цикл с индексом rdi, где происходит итерация по массиву _secondary_supers из класса Klass .

Теперь можно подытожить. JVM пытается производить оптимизации, но в худшем случае мы имеем что instanceof будет выполняться линейно, пробегая по всей иерархии классов.

Java | Вопросы с ответами

2. Дан код:
public class Quest4 public static void main(String[] args) byte b[] = new byte[80];
for (int i=0; i System.out.print(“Ok”);
>
>
Результатом компиляции запуска будет?
>> ошибка компиляции, так как метод read() может порождать исключительную ситуацию типа IOException.

3. Программы Java категория Приложение (application)?
>> аналог “обычной” прикладной программы.

4. Программы Java категория Апплет (applet)?
>> специализированная программа с ограниченными возможностями, работающая в окне WWW-документа под управлением браузера.

5. Программы Java категория Сервлет (servlet)?
>> специализированная программа с ограниченными возможностями, работающая в WWW на стороне сервера. Используется преимущественно в рамках технологии JSP для программирования WWW-документов со стороны сервера.

6. Программы Java категория Серверное приложение (Enterprise application)?
>> предназначено для многократного использования на стороне сервера.

7. Программы Java категория Библиотека (Java Class Library)?
>> библиотека классов, либо NetBeansModule – модуль платформы NetBeans) – предназначена для многократного использования программами Java.

8. Какие из следующих строк скомпилируются без ошибки?
>> int i = 32565;
— float f = 7.0;
— char c = «z»;
— byte b = 255;
— boolean n = null;

9. Какие из следующих строк скомпилируются без ошибки?
>> int j = ’ъ’;
— float f = 7.0;
— char c = «z»;
— byte b = 255;
— boolean n = null;

10. Какие варианты записи оператора условного перехода корректны?
>> if (i
— if (i — if i
— if [i — if then System.out.print(«-6-«);

12. Какие из следующих идентификаторов являются корректными?
>> _int;
— 2int;
— int_#;
— #int
— _#int

13. Назначение утилиты javac?
>> Компилятор в режиме командной строки для программ, написанных на языке Java.

14. Назначение утилиты java?
>> Утилита для запуска в режиме командной строки откомпилированных программ-приложений.

15. Назначение утилиты appletviewer?
>> Утилита для запуска на исполнение и отладку апплетов без браузера. При этом не гарантируется работоспособность отлаженного апплета в браузере.

16. Назначение утилиты jdb?
>> Отладчик программ, написанных на языке Java.

17. Назначение утилиты javadoc?
>> Генератор документации по классом на основе комментариев, начинающихся с /**.

18. Назначение утилиты jar?
>> Создание и управление Java-архивами jar.

19. Назначение утилиты javah?
>> Генератор заголовочных файлов C/C++ для подключения к программам Java внешних библиотек C/C++ на основе интерфейса JNI.

20. Назначение утилиты javap?
>> Дизассемблер классов.

21. Назначение утилиты extcheck?
>> Утилита для обнаружения конфликтов между файлами архивов jar.

22. Назначение утилиты native2ascii?
>> Утилита для конвертации в режиме командной строки параметра, передаваемого в виде текста на национальном алфавите, в последовательность символов UNICODE.

23. Управляющая последовательность: \a ?
>> звонок.

24. Управляющая последовательность: \b ?
>> возврат на один символ назад.

25. Управляющая последовательность: \f ?
>> перевод на новую страницу.

26. Управляющая последовательность: \n ?
>> перевод на новую строку.

27. Управляющая последовательность: \r ?
>> возврат к началу строки.

28. Управляющая последовательность: \t ?
>> горизонтальная табуляция.

29. Управляющая последовательность: \v ?
>> вертикальная табуляция.

30. Управляющая последовательность: \’ ?
>> кавычка.

31. Управляющая последовательность: \” ?
>> двойные кавычки.

32. Управляющая последовательность: \\ ?
>> обратная косая черта.

33. Управляющая последовательность: \u ?
>> начало кодировки символа Unicode.

34. Оператор ~ ?
>> Оператор побитового дополнения (побитовое “не”).

35. Оператор ^ ?
>> Оператор “исключающее или” (XOR).

36. Оператор & ?
>> Оператор “побитовое и” (AND).

37. Оператор | ?
>> Оператор “побитовое или” (OR).

38. Оператор ! ?
>> Оператор “НЕ”.

39. Оператор && ?
>> Оператор “логическое И” (AND).

40. Оператор || ?
>> Оператор “ логическое ИЛИ” (OR).

41. Оператор >> Оператор левого побитового сдвига.

42. Оператор >>> ?
>> Оператор беззнакового правого побитового сдвига.

43. Оператор >> ?
>> Оператор правого побитового сдвига с сохранением знака отрицательного числа.

44. Для чего предназначен пакет java.applet?
>> Классы, необходимые для создания аплетов.

45. Для чего предназначен пакет java.awt?
>> Графический пользовательский интерфейс на базе AbstractWindowsToolkit.

46. Для чего предназначен пакет java.awt.color?
>> Пространства цветов для AWT.

47. Для чего предназначен пакет java.awt.datatransfer?
>> Передача данных внутри программы и между программами.

48. Для чего предназначен пакет java.awt.dnd?
>> Поддержка технологии drag-and-drop.

49. Для чего предназначен пакет java.awt.event?
>> Обработка событий AWT.

50. Для чего предназначен пакет java.awt.im?
>> Поддержка нестандартных методов ввода текста.

51. Для чего предназначен пакет java.awt.im.spi?
>> Интерфейсы для создания нестандартных методов ввода текста.

52. Для чего предназначен пакет java.lang?
>> Базовые классы языка Java.

53. Для чего предназначен пакет java.lang.ref?
>> Управление ссылками на объекты.

54. В папке build проекта NetBeans находятся?
>> хранятся скомпилированные файлы классов, имеющие расширение .class.

55. В папке dist проекта NetBeans находятся?
>> файлы, предназначенные для распространения как результат компиляции (модуль JAR приложения или библиотеки, а также документация к нему).

56. В папке nbproject проекта NetBeans находятся?
>> находится служебная информация по проекту.

57. В папке src проекта NetBeans находятся?
>> исходные коды классов. Кроме того, там же хранится информация об экранных формах (которые будут видны на экране в виде окон с кнопками, текстом и т.п.). Она содержится в XML-файлах, имеющих расширение .form.

58. В папке test проекта NetBeans находятся?
>> сопроводительные тесты, предназначенные для проверки правильности работы классов проекта.

59. Команды документации (символы метаданных) @see?
>> применяется для создания в документе гиперссылок на другие комментарии. Можно использовать для любых конструкций (классов, методов и т.д. ).

60. Команды документации (символы метаданных) @since?
>> Информация о версии JDK, начиная с которой введён или работоспособен класс или интерфейс.

61. Команды документации (символы метаданных) @throws?
>> Информация об исключительных ситуациях, которые могут возбуждаться методом.

62. Команды документации (символы метаданных) @param?
>> информация о параметре метода.

63. Команды документации (символы метаданных) @deprecated?
>> информация о том, что данный метод устарел и в последующих версиях будет ликвидирован. При попытке использования таких методов компилятор выдаёт программисту предупреждение (warning) о том, что метод устарел, хотя и компилирует проект.

64. Целые типы, тип byte?
>> Однобайтовое целое число (8-битное целое со знаком).

65. Целые типы, тип short?
>> Короткое целое число (16- битное целое со знаком).

66. Целые типы, тип char?
>> Символьный тип (беззнаковое 16- битное целое).

67. Целые типы, тип int?
>> Целое число (32- битное целое со знаком).

68. Целые типы, тип long?
>> Длинное целое число (64- битное целое со знаком).

69. Выберите правильный вариант a,b,c,d чтобы результат выражения a&&b || c^ d являлся истиной?
>> все ответы верны
— a=true, b=true, c=false, d=true
— a=false, b=false, c=false, d=true
— a=false, b=false, c=true, d=false
— a=true, b=true, c=true, d=true

70. Выберите правильный вариант a,b,c,d чтобы результат выражения a&&(b || c)^ d являлся ложью?
>> все ответы верны
— a=false, b=true, c=false, d=true
— a=true, b=true, c=false, d=true
— a=false, b=false, c=false, d=true
— a=false, b=false, c=false, d=false

71. Вещественные типы, размер типа float?
>> 4 байта

72. Вещественные типы, размер типа double?
>> 8 байт

73. Float f1 = new Float(Float.NaN);
Float f2 = new Float(Float.NaN);
System.out.println( «»+ (f1 == f2)+» «+f1.equals(f2)+ » «+(Float.NaN == Float.NaN) );
Что будет выведено в результате выполнения данного куска кода?
>> false true false

74. int i = 0;
i++;
System.out.print(i);
i = i++;
System.out.println(i); Что выведет данный код?
>> 11

75. int i = 0, j = 5;
tp: for (;;) < i++;
for (;;) < if (i >—j) breaktp; > >
System.out.println(«i =» + i + «, j = » + j);> Что произойдет во время компиляции и выполнения данного фрагмента кода?
>> Ошибка компиляции.

76. int i = 1; //1
i = -+(10 + 2 + i); //2
++i—; //3
System.out.println(i); В какой строке(-ах) кода содержится ошибка?
>> 3.

77. Integer i = newInteger(«10»);
if (i.toString().intern() == i.toString().intern()) System.out.println(«Равный»);
> else System.out.println(«Не равный»); >> Результат выполнения программы?
>> Выведется “Равный”.

78. public class Main public static void main(String[] args) Boolean b1 = new Boolean(«true»); System.out.print(b1 +» «);
b1 =new Boolean(«tRuE»); System.out.print(b1 +» «);
b1 =new Boolean(«test»); System.out.print(b1 +» «);
b1 =new Boolean(true); System.out.print(b1 +» «);
b1 = true; System.out.println(b1); >> каким будет результат компиляции и выполнения кода?
>> true true false true true

79. public class Test static < System.out.print("Bo-Bo ");>
public static void main(String[] args) System.out.print(«Hello, World! «); >
static < System.out.println("Go-Go "); System.exit(0); >> что выведет код?
>> Bo-Bo Go-Go

80. int i = 1; //1
i = -+(10 + 2 + 1); //2
++i—; //3
System.out.println(i); В какой строке(-ах) кода содержится ошибка?
>> 3

81. Integer a = 128; Integer b = 128;
Integer c = -128; Integer d = -128;
System.out.print((a == b)+» «);
System.out.println(c == d); Что будет выведено на экран?
>> false true

82. Boolean b = new Boolean(«Hello»);
System.out.println(b); Какой результат выполнения данного кода?
>> false

83. public class Test static < i =5; >
static int i = 6;
public static void main(String[] args) System.out.println(i); >> Выберите правильный ответ?
>> 6

84. public class MathTest public static void main(String[] args) System.out.print(((-7 % 5)>(7 % -5))+» «);
System.out.println(Math.abs(Math.ceil(-2.5))>
Что будет напечатано в результате выполнения данного кода?
>> false true

85. int i = 0;
System.out.print(i++);
System.out.println(i); Результат кода?
>> 01

86. int j = 0;
System.out.print(++j);
System.out.println(j); Результат кода?
>> 11

87. public class TestClass
int i = getInt();
int k = 20;
public int getInt()
public static void main(String[] args)
TestClass t = new TestClass ();
System.out.println(t.i+» «+t.k); >>
Что выведет этот код?
>> Будет выведено на печать 1 20

88. int x = 0;
int y = 10;
do< y--;
++x;> while(x<5);
System.out.print(x+»,»+y); >
Что напечатает этот код?
>> напечатает 5 5

89. Дана строка:
String s=»true,false»;
Каким способом можно сформировать новую строку, равную “test”?
>> String n = s.substring(0,1) + s.substring(9,10) + s.substring(8,9) + s.substring(0,1)

90. int result = 12+2*5%3-15/4;
String x=12-6+»Hello»+7+5;
System.out.println(result+»-«+x);
Что будет выведено на консоль?
>> 10-6Hello75

91. String s1=»Строка типа String»;
String s2=»Строка«;
s2+=» типа String»;
if(s1==s2) System.out.println(«s1 равно s2″);
else System.out.println(«s1 не равно s2″);
Что выведет этот код?
>> s1 не равно s2

92. String s1=»Строка типа String»;
String s2=»Строка«;
s2+=» типа String»;
if(s1.equals(s2)) System.out.println(«s1 равно s2″);
else System.out.println(«s1 не равно s2″);
Что выведет этот код?
>> s1 равно s2

93. String s1=»Строка»;
String s2=»Строка»;
if(s1==s2) System.out.println(«s1 равно s2″);
else System.out.println(«s1 не равно s2″);
Что выведет этот код?
>> s1 равно s2

94. String s=»»;
s+= 1+2+3;
System.out.println(s);
Что выведет этот код?
>> 6

95. String s=»Сумма =»+1+2+3;
System.out.println(s);
Что выведет этот код?
>> Сумма=123

96. String s=1+2+» не равно «+1+2;
System.out.println(s);
Что выведет этот код?
>> 3 не равно 12

97. Работа с графикой. Функция clearRect(x,y,w,h)?
>> Очистка прямоугольника (заполнение текущим цветом).

98. Работа с графикой.Функция fill3DRect(x,y,w,h, isRaised)?
>> Вывод «объемного» прямоугольника, заполненного текущим цветом.

99. Работа с графикой.Функция fillPolygon(Polygon p)?
>> Вывод многоугольника, заполненного текущим цветом.

100. Работа с графикой. Функция copyArea(x,y,w,h,dx,dy)?
>> Копирование области на новое место.

101. Переменные класса File. String pathSeparator?
>> Содержит строку с символом разделителя пути в операционной системе. Это «/» в Unix-подобных системах и «\» в Windows.

102. Переменные класса File.char pathSeparatorChar?
>> Содержит символ разделителя пути в операционной системе. Это «/» в Unix-подобных системах и «\» в Windows.

103. Переменные класса File.String separator?
>> Содержит строку с символом разделителя между именами файлов и файловых масок в операционной системе.

104. Переменные класса File. char separatorChar?
>> Содержит символ разделителя между именами файлов и файловых масок в операционной системе.

105. Методы класса File.canRead() ?
>> Возвращает true в случае, когда файл (или папка) с заданным в конструкторе именем существует и доступен по чтению. Иначе false.

106. Методы класса File.setReadOnly() ?
>> Возвращает true в случае, когда файл (или папка) с заданным в конструкторе именем существует, и ему удалось установить статус «доступен только по чтению». Иначе false.

107. Методы класса File. isDirectory() ?
>> Возвращает true в случае, когда файл или папка с заданным в конструкторе именем существует и является папкой. Иначе false.

108. Методы класса File. isFile() ?
>> Возвращает true в случае, когда файл или папка с заданным в конструкторе именем существует и является файлом. Иначе false.

109. Методы класса File.isHidden() ?
>> Возвращает true в случае, когда файл или папка с заданным в конструкторе именем существует и является скрытым. Иначе false.

110. Методы класса File. lastModified() ?
>> Возвращает время последней модификации файла, если он существует и доступен по чтению. Иначе 0L.

111. Методы класса File. setLastModified(long time) ?
>> Устанавливает время последней модификации файла. Возвращает true, если он существует и доступен по записи. Иначе false.

112. Методы класса File.getName() ?
>> Возвращает короткое имя файла или папки.

113. Методы класса File.getAbsolutePath() ?
>> Возвращает абсолютный путь к файлу или папке, включая имя файла. При этом, если в имени файла в конструкторе была задана относительная адресация, соответствующая часть пути сохраняется в возвращаемой строке.

114. Методы класса File. getCanonicalPath() ?
>> Возвращает абсолютный путь к файлу или папке, включая имя файла. При этом, если в имени файла в конструкторе была задана относительная адресация, соответствующая часть пути заменяется в возвращаемой строке на канонический вариант адресации – без элементов относительной адресации.

115. Методы класса File.compareTo(File f) ?
>> Сравнение имён файлов (папок), сопоставляемых текущему файловому объекту и объекту f. Возвращает 0 в случае, когда абсолютные имена файлов (папок) совпадают. Иначе возвращает число, зависящее от разницы в длинах имён и кодов, составляющих их символов.

116. Методы класса File.isAbsolute() ?
>> Возвращает true в случае, когда адресация к имени файла (папки) текущего файлового объекта является абсолютной. Хотя может содержать элементы относительной адресации, то есть не быть канонической.

117. Методы класса File.equals(Object obj) ?
>> Возвращает true тогда и только тогда, когда текущий объект и параметр obj соответствует одному и тому же файлу (папке).

118. Методы класса File.createTempFile(String prefix, String suffix) ?
>> Обеспечивает создание пустого файла (или папки), задаваемого коротким именем prefix+suffix в папке операционной системы, предназначенной для временных файлов. Возвращает ссылку на объект. Префикс должен быть не менее 3 символов.

119. Методы класса File.mkdir() ?
>> Попытка создания папки по имени, которое было задано в конструкторе объекта. Возвращает true в случае успешного создания и false в других случаях.

120. Методы класса File.renameTo(File dest) ?
>> Попытка переименования файла или папки с имени, которое было задано в конструкторе объекта, на новое, задаваемое параметром dest. Возвращает true в случае успешного переименования и false в других случаях.

121. Методы класса File.getAbsoluteFile() ?
>> Создание нового файлового объекта по абсолютному пути, соответствующему текущему файловому объекту.

122. Методы класса File.list() ?
>> Возвращает массив строк (список) коротких имён, находящихся в папке файлов и папок. Имена элементов, находящихся во вложенных папках, не показываются. Если файловый объект не соответствует существующей папке, возвращает null.

123. Конструкторы?
>> это методы, используемые для инициализации объектов в процессе их реализации.

124. Как объекты обмениваются информацией?
>> Объекты общаются друг с другом посредством посылки сообщений.

125. Что такое this?
>> ссылка, с помощью которой объект обращается к самому себе.

126. Класс ?
>> Класс – это структурный тип данных, который включает описание полей данных, а также процедур и функций, работающих с этими полями данных.

127. Процедуры и функции, работающие с полями данных класса?
>> Называются методами.

128. Объединение полей данных и процедур и функций, работающих с этими данными, в единый пакет, при наличии специальных правил доступа к элементам пакета?
>> Инкапсуляция.

129. Основные средства разработки классов. Наследование?
>> Конструирование новых более сложных классов из уже имеющихся посредством добавления полей и определения новых методов (принцип иерархичности).

130. Основные средства разработки классов. Полиморфизм?
>> обеспечивает возможность задания различных реализаций некоторого единого по названию метода для классов различных уровней иерархии.

131. Полиморфными объектами или полиморфными переменными называются?
>> переменные, которым в процессе выполнения программы может быть присвоено значение, тип которого отличается от типа переменной.

132. К изменению свойств объекта возможен только через принадлежащие ему?
>> методы.

133. В момент времени объект характеризуется:?
>> Свойствами

134. Программа в объектно-ориентированном программировании состоит из:?
>> событийных процедур.

135. Инкапсулированные в классе процедуры и функции называются?
>> Методы

136. Процесс, при котором различный код и данные различных модулей соединяются друг с другом в процессе исполнения, называют компоновкой?
>> Динамической

137. Область исходного кода программы, из которой допустим нормальный доступ к связанному с идентификатором объекту, называется?
>> Видимостью

138. Конструктором по умолчанию называется такой конструктор, который?
>> не принимает никаких аргументов.

139. Класс-наследник называется . от базового класса?
>> Производным.

140. Что следует ожидать на экране?
System.out.print(«A»+»B»+»C»);
System.out.println(‘A’+’B’+’C’);
>> ABC198

141. int j = 0;
for (int i = 0; i< 10; i++)
j = j++;
System.out.println(j);
Что выведется в результате?
>> 0

142. int x, y;
int i;
x = 1;
for (i = 0; i< 10; i++)

Что выведется в результате?
>> 3 5 7 9 11 13 15 17 19 21

143. int x, y;
int i;
x = 1;
for (i = 0; i< 10; i++)

Что выведется в результате?
>> 2 4 6 8 10 12 14 16 18 20

144. int x=0;
for(int count=10; count < 5; count++)
x += count ;>
Чему равна х?
>> 0

145. for(inti=-10; i
0) break;
System.out.print(i + » «) ;>,
Что выведется в результате?
>> -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0

147. Каков будет результат следующего примера?
Point p = new Point(1,2);
int a =p.x;
p = new Point(3,4);
System.out.println(a);
>> 1

148. Каков будет результат следующего примера?
Point p1 = new Point(3,4);
Point p2 = p1;
p1.x = 5;
p1 = new Point(4,4);
System.out.println(p2.x-p1.x);
>> 1

149. Каков будет результат следующих действий?
Point p1 = new Point(2,3);
Point p2 = new Point(2,3);
System.out.print(p1==p2);
p2=p1;
p1.x = 3;
System.out.print(» «);
System.out.println(p1==p2);
>> false true

150. Каков будет результат следующего примера?
public class testClass
public static void process (int x)

public static void main(String[] args)
int x=3; process(x);
System.out.println(x); >>
>> 3

151. Что будет напечатано в консоли в результате выполнения следующего кода:
System.out.println((byte)383+» «+(byte)384+» «+(byte)-384); ?
>> 127 -128 -128

152. Каков будет результат следующего примера?
char c = 65;
System.out.print(c);
System.out.print(+c);
System.out.print(«=»+c);
>> A65=A

153. Каков будет результат следующего примера?
class Parent
class Child extends Parent
public class testClass
public static void main(String[] args)
Child c = new Child(); System.out.print(c.a);
Parent p=c; System.out.print(p.a); >>
>> 32

154. Каков будет результат следующего примера?
class Parent
public void printX()>
class Child extends Parent
public class testClass
public static void main(String[] args)
new Child().printX(); >>
>> 0

155. Каков будет результат следующего примера?
class Parent
class Child extends Parent
public class testClass
public static void main(String[] args)
Child.a=10; Parent.a=5; System.out.println(Child.a); >>
>> 5

156. Каков будет результат следующего примера?
int i,j;
lab:for(i=0;i<6;i++)
for(j=3;j>1;j—)
if(i==j) > >
>> 2

157. Каков будет результат следующей программы?
public class testClass public static void main(String[] args) inti =5;
while(i=5) <
System.out.println(i++); >>>
>> Ошибка компиляции.

158. Каков будет результат следующего примера?
int b=5;
System.out.print(b+(b=3));
System.out.print((b=3)+3);b=5;
System.out.print(b+=(b=3));
>> 868

159. Дан код:
class Quest3
public static void main(String s[ ])
String args;
System.out.print(args + s);
>>
Результатом компиляции кода будет?
>> ошибка компиляции: переменная args используется до инициализации.

160. Дан код:
public class Quest5
public static void main()
System.out.print(«А«); >
public static void main(String args)
System.out.print(«Б«); >
public static void main(String[] args)
System.out.print(«В»);>>
Что будет выведено в результате компиляции и запуска?
>> B

161. Какие из следующихутверждений истинные?
a-nonstatic-метод не может быть вызван из статического метода;
b-static-метод не может быть вызван из нестатического метода;
c-private-метод не может быть вызван из другого метода этого класса;
d-final-метод не может быть статическим.
>> a

162. Дан код:
public class Quest5

static
Quest5()
public static void main(String[] args)
System.out.print(«4»); >>
В результате при компиляции и запуске будет выведено?
>> 24

163. Какие из объявлений корректны, если
classOwner
classInner
>>?
>> new Owner().new Inner();

164. Дан код:
public class Quest1
public static void main(String[] args)
String str = new String(«java»);
int i=1;
char j=3;
System.out.println(str.substring(i,j));>>
В результате при компиляции запуске будет выведено?
>>

165. Экземпляром какого класса является поле System.in?
>> java.io.InputStream;

166. Какой абстрактный класс является суперклассом для всех классов, используемых для чтения байтов?
>> InputStream

167. Какой интерфейс наиболее пригоден для создания класса, содержащего несортированные уникальные объекты?
>> Set

168. Дан код:



Какой код читает параметр count в переменную i?

>> int i = new Integer(getParameter(»count»)).intValue()

Экземпляром какого класса является поле system err

Anastasia Уровень 14

18 декабря 2023

Напишите пожалуйста, правильно ли я поняла, если упростить еще сильнее, до примитива: Класс — это место(файл). Типа оранжерея Объект — это предмет. Типа цветок в горшке Переменная — это деталь, она может быть деталью объекта (это поле). Типа цвет горшка — красный. Либо деталью класса(это переменная со словом static). Типа цвет оранжереи — зеленый. Массив — это много деталей в одном. Типа комода с деталями. Метод — это действия. Он может быть для предметов(т.е метод внутри которого будет работа с объектами), либо для деталей предмета(метод, внутри которого будет работа только с переменными) А абстракция — это место, где есть хранение, но нет действия. Типа комнаты хранилища, где хранятся семена нужных растений из оранжереи. Конструктор — это получается стикер на горшке, где написано что это за растение. Если нужно просто чтобы в оранжерее были растения в горшках — просто создаем обьект. Получается мы не должны ему сами прописывать конструктор, но он скрыто создастся по дефолту. А если мы хотим поместить напр в оранжерею 2 обьекта: красный апельсин и каенский перец — мы сначала создаем 2 обьекта: оба обьекты, и создаем им конструктор, в котором указываем что это красный апельсин и перец. Типа клеем стикер на каждое растение. А что написано на стикере — наши параметры, которые мы хотим написать. Правильно ли я все усвоила, отпишитесь плс, я совсем новичок

Ваня Уровень 23

17 декабря 2023

Ставлю дизлайк, так как данная статья (иногда прямо целыми кусками с кодом и объяснениями) скопипасчена с другой, написанной ранее.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *