игра брюс 2048
Главная / Программирование / Программирование на Java / Тест 5

Программирование на Java - тест 5

Упражнение 1:
Номер 1
Какое из перечисленных ниже имен является простым?
                MyClass
                MyClass.name
                MyClass.name.toString()
                MyClass.name.toString().hashCode()
            
            

Ответ:

 (1) MyClass 

 (2) MyClass.name 

 (3) MyClass.name.toString() 

 (4) MyClass.name.toString().hashCode() 

 (5) ни один из перечисленных 


Номер 2
Какое из перечисленных ниже имен является простым?
                Object
                java.lang
                lang
                java.lang.Object
            
            

Ответ:

 (1) Object 

 (2) java.lang 

 (3) lang 

 (4) java.lang.Object 


Номер 3
Какое из перечисленных ниже имен является составным?
                Object
                java.lang
                lang
                java.lang.Object
            
            

Ответ:

 (1) Object 

 (2) java.lang 

 (3) lang 

 (4) java.lang.Object 


Упражнение 2:
Номер 1
Какие утверждения относительно пакетов в Java верны?

Ответ:

 (1) каждый пакет может включать вложенные пакеты 

 (2) пакет, содержащий вложенный пакет, не может содержать классы 

 (3) пакеты могут содержать классы и интерфейсы 

 (4) каждый пакет имеет свое пространство имен 

 (5) разные пакеты могут разделять одно пространство имен 


Номер 2
Какое утверждение относительно пакетов в Java верно?

Ответ:

 (1) разные пакеты могут разделять одно пространство имен 

 (2) пакеты, вложенные в один и тот же пакет, не имеют никаких дополнительных связей между собой 

 (3) пакеты, вложенные в один и тот же пакет, имеют дополнительные связи между собой 


Номер 3
Какие утверждения относительно пакетов в Java верны?

Ответ:

 (1) элементами пакета являются вложенные пакеты и типы 

 (2) пакет может включать вложенные пакеты 

 (3) пакет, содержащий класс, не может содержать вложенные пакеты 

 (4) пакет, содержащий вложенный пакет, не может содержать интерфейсы 

 (5) каждый пакет имеет свое пространство имен 


Упражнение 3:
Номер 1
Вы создали класс Animal в пакете ru.animal. Где будет хранится исходный код класса  в файловой системе?

Ответ:

 (1) ru\animal\Animal.java 

 (2) ru\Animal.java 

 (3) ru\animal\Animal.class 

 (4) ru\Animal.class 

 (5) ru\animal\Animal 


Номер 2
Вы создали класс Animal в пакете ru.animal. Где будет храниться бинарный код класса в файловой системе?

Ответ:

 (1) ru\animal\Animal.java 

 (2) ru\Animal.java 

 (3) ru\animal\Animal.class 

 (4) ru\Animal.class 

 (5) ru\animal\Animal 


Номер 3
Вы создали класс Animal в пакете ru.animal. Где будет храниться исходный код класса в файловой системе?

Ответ:

 (1) ru\Animal.java 

 (2) ru\Animal.class 

 (3) ru\animal\Animal.java 

 (4) ru\animal\Animal.class 

 (5) ru\animal\Animal 


Упражнение 4:
Номер 1
Какие утверждения относительно модуля компиляции верны?

Ответ:

 (1) хранится в текстовом .java-файле 

 (2) отсутствие объявления пакета в модуле компиляции вызовет ошибку компиляции 

 (3) объявления верхнего уровня содержат объявление только одного типа 

 (4) если в модуле компиляции есть объявление пакета - оно будет первым выражением 

 (5) import-выражения позволяют импортировать типы в модуль компиляции и далее обращаться к ним по простым именам 


Номер 2
Какие утверждения относительно модуля компиляции верны?

Ответ:

 (1) в модуле компиляции должно быть хотя бы одно import-выражение 

 (2) объявления верхнего уровня содержат объявления одного или нескольких типов 

 (3) объявление пакета записывается с помощью ключевого слова package 

 (4) если в модуле компиляции есть объявление пакета и import-выражения - import-выражения будут идти после объявления пакета 


Номер 3
Какие утверждения относительно модуля компиляции верны?

Ответ:

 (1) import-выражения необязательны 

 (2) если объявление пакета отсутствует, то модуль компиляции будет принадлежать безымянному пакету 

 (3) хранится в текстовом .class-файле 

 (4) в модуле компиляции может быть больше одного объявления пакета 

 (5) объявления верхнего уровня позволяют обращаться к типам из других пакетов по их простым именам 


Упражнение 5:
Номер 1
Какие утверждения относительно импорт-выражений верны?

Ответ:

 (1) позволяют импортировать типы в модуль компиляции 

 (2) можно импортировать один тип 

 (3) нельзя импортировать пакет целиком 

 (4) выражение, импортирующее один тип, записывается с помощью ключевого слова import и полного имени типа 

 (5) import-выражения обязательно всегда являются первыми в модуле компиляции 


Номер 2
Какие утверждения относительно импорт-выражений верны?

Ответ:

 (1) если импортируются типы с одинаковыми простыми именами из разных пакетов, то такая ситуация породит ошибку компиляции 

 (2) нельзя импортировать один тип 

 (3) объявления верхнего уровня содержат объявление только одного типа 

 (4) можно импортировать пакет целиком 

 (5) выражение, позволяющее импортировать пакет целиком имеет вид import <полное имя пакета>.*; 


Номер 3
Какие утверждения относительно импорт-выражений верны?

Ответ:

 (1) выражение, позволяющее импортировать пакет целиком имеет вид import <полное имя пакета>; 

 (2) выражение, импортирующее один тип, записывается с помощью ключевого слова import и простого имени типа 

 (3) можно импортировать один тип 

 (4) если тип явно импортирован, то невозможно ни объявление нового типа с таким же именем, ни доступ по простому имени к одноименному типу в текущем пакете 

 (5) import-выражения не позволяют импортировать типы в модуль компиляции и далее обращаться к ним по простым именам 


Упражнение 6:
Номер 1
Ниже приведено несколько вариантов записи модуля компиляции. Какой из них корректен, если предполагается описать класс
            ABCPoint из пакета test.demo, причем класс активно использует класс ru.additional.abc.Point
             и несколько классов из пакета java.net?
            

Ответ:

 (1) package test.demo; import ru.additional.abc.Point; import java.net.*;  

 (2) import ru.additional.*; import java.net.*; package test.demo;  

 (3) package test.demo; import java.net; import ru.additional.abc.Point;  

 (4) package test.demo.*; import java.net.*; import ru.additional.abc.*;  

 (5) ни один из перечисленных 


Номер 2
Ниже приведено несколько вариантов записи модуля компиляции. Какой из них корректен, если предполагается описать класс
            abc.Point из пакета test.demo, причем класс активно использует классы ru.additional.abc.Point
             и несколько классов из пакета java.net?
            

Ответ:

 (1) package test.demo; import java.net.*; import ru.additional.abc.Point;  

 (2) package test.demo; import java.net.*; import ru.additional.abc.*;  

 (3) package test.demo; import ru.additional.abc.Point; import java.net;  

 (4) package test.demo.*; import java.net.*; import ru.additional.abc.Point;  

 (5) ни один из перечисленных 


Номер 3
Ниже приведено несколько вариантов записи модуля компиляции. Какой из них корректен, если предполагается описать класс
            abc.Point из пакета test.demo, причем класс активно использует классы ru.additional.abc
             и несколько классов из пакета java.net?
            

Ответ:

 (1) package test.demo.*; import java.net.*; import ru.additional.abc.*;  

 (2) package test.demo; import java.net; import ru.additional.abc.*;  

 (3) package test.demo; import java.net.*; import ru.additional.abc.Point;  

 (4) package test.demo; import java.net.*; import ru.additional.abc.*;  

 (5) ни один из перечисленных 


Упражнение 7:
Номер 1
Корректен ли объявленный ниже класс? Если нет, то как его можно исправить?
                class Box {
                    private int weight=0;
                    public int getWeight() {
                        return weight;
                    }
                    void setWeight(int weight) {
                        weight=weight;
                    }
                }
            

Ответ:

 (1) пример корректен, ничего исправлять не нужно 

 (2) пример некорректен, конфликт имен в методе setWeight требует переименования поля или аргумента  

 (3) пример корректен, однако конфликт имен в методе setWeight требует переименования поля или аргумента  

 (4) пример корректен, однако конфликт имен в методе setWeight требует переименования поля или аргумента, либо использования ключевого слова this  

 (5) пример корректен, однако конфликт имен в методе setWeight требует переименования поля или аргумента, либо использования ключевого слова this или super  


Номер 2
Корректен ли объявленный ниже класс? Если нет, то как его можно исправить?
                class Box {
                    private int weight=0;
                    public int getWeight() {
                        return weight;
                    }
                    void setWeight(int weight) {
                        this.weight=weight;
                    }
                }
            

Ответ:

 (1) пример корректен, ничего исправлять не нужно 

 (2) пример некорректен, конфликт имен в методе setWeight требует переименования поля или аргумента  

 (3) пример корректен, однако конфликт имен в методе setWeight требует переименования поля или аргумента  

 (4) пример корректен, однако конфликт имен в методе setWeight требует переименования поля или аргумента, либо использования ключевого слова this  

 (5) пример корректен, однако конфликт имен в методе setWeight требует переименования поля или аргумента, либо использования ключевого слова this или super  


Номер 3
Что будет выведено на экран в результате выполнения следующего кода?
                import java.awt.Point;

                public class Obscuring {
                    static Point Test = new Point(3,2);
                    public static void main (String s[]) {
                        System.out.println(Test.x);
                    }
                }
                class Test {
                    static int x = -5;
                }
            

Ответ:

 (1) -5 

 (2) 2 

 (3) 3 

 (4) будет выдано сообщение об ошибке 


Упражнение 8:
Номер 1
Какие формальные нарушения соглашений по именованию присутствуют в следующем примере:
                public class flat{
                    private int floor_number;
                    private int r; // количество комнат
                    public int getR() {
                        return r;
                    }
                    public int getFloorNumber() {
                        return floor_number;
                    }
                }
            

Ответ:

 (1) класс назван со строчной буквы, должно быть Flat 

 (2) имя поля floor_number содержит два слова, разделенных знаком подчеркивания, должно быть floorNumber  

 (3) имя поля r состоит из одной буквы, а оно должно быть более понятным, например, rooms или roomsNumber  

 (4) нет методов, с помощью которых можно изменить значения переменных 


Номер 2
Какие формальные нарушения соглашений по именованию присутствуют в следующем примере:
                public class flat{
                    private int floorNumber;
                    private int roomNumber;
                    public int rooms() {
                        return roomNumber;
                    }
                    public int GetFloorNumber() {
                        return floorNumber;
                    }
                }
            

Ответ:

 (1) имя метода rooms() необходимо изменить на getRoomNumber() 

 (2) имя поля roomNumber необходимо заменить на r 

 (3) класс назван со строчной буквы, должно быть Flat 

 (4) нет методов, с помощью которых можно изменить значения переменных 

 (5) имя метода GetFloorNumber() необходимо изменить на getFloorNumber() 


Номер 3
Какие формальные нарушения соглашений по именованию присутствуют в следующем примере:
                public class Flat{
                    private int floor_number;
                    private int roomNumber;
                    public int rooms() {
                        return roomNumber;
                    }
                    public int getFloorNumber() {
                        return floor_number;
                    }
                }
            

Ответ:

 (1) имя поля roomNumber необходимо заменить на r 

 (2) класс назван с заглавной буквы, должно быть flat 

 (3) имя поля floor_number содержит два слова, разделенных знаком подчеркивания, должно быть floorNumber  

 (4) имя метода rooms() необходимо изменить на getRoomNumber() 

 (5) нет методов, с помощью которых можно изменить значения переменных 




Главная / Программирование / Программирование на Java / Тест 5