upd
This commit is contained in:
@@ -5,7 +5,71 @@ import java.util.Arrays;
|
|||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
task30();
|
task35();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void task35() {
|
||||||
|
/*
|
||||||
|
Измените предыдущее упражнение так, чтобы метод finalize() обязательно был исполнен.
|
||||||
|
*/
|
||||||
|
|
||||||
|
Task34 task = new Task34();
|
||||||
|
System.gc();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void task34() {
|
||||||
|
/*
|
||||||
|
Создайте класс с методом fin alize(), который выводит сообщение. В методе main() создайте объект вашего класса. Объясните поведение программы.
|
||||||
|
*/
|
||||||
|
Task34 task = new Task34();
|
||||||
|
}
|
||||||
|
|
||||||
|
static class Task34 {
|
||||||
|
Task34() {
|
||||||
|
System.out.println("Task34 obj created");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finalize() {
|
||||||
|
System.out.println("memory cleared. inside finalize");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static class Task33 {
|
||||||
|
Task33(int x, String s) {
|
||||||
|
System.out.println("this is a string constructor: '" + s + "'");
|
||||||
|
}
|
||||||
|
|
||||||
|
Task33(int x) {
|
||||||
|
this(x, "default");
|
||||||
|
System.out.println("this is an integer constructor: '" + x + "'");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void task33() {
|
||||||
|
/*
|
||||||
|
Подготовьте класс с двумя (перегруженными) конструкторами. Используя ключевое слово this, вызовите второй конструктор из первого.
|
||||||
|
*/
|
||||||
|
|
||||||
|
Task33 task1 = new Task33(1);
|
||||||
|
Task33 task2 = new Task33(2, "hello");
|
||||||
|
}
|
||||||
|
|
||||||
|
static class Task32 {
|
||||||
|
void method1() {
|
||||||
|
method2("without 'this' kw");
|
||||||
|
this.method2("with 'this' kw");
|
||||||
|
}
|
||||||
|
void method2(String s) {
|
||||||
|
System.out.println("from method 2: " + s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void task32() {
|
||||||
|
/*
|
||||||
|
Создайте класс с двумя методами. В первом методе дважды вызовите второй метод: один раз без ключевого слова this, а во второй с this - просто для того, чтобы убедиться в работоспособности этого синтаксиса; не используйте этот способ вызова на практике.
|
||||||
|
*/
|
||||||
|
Task32 task = new Task32();
|
||||||
|
task.method1();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void task31() {
|
static void task31() {
|
||||||
|
|||||||
Reference in New Issue
Block a user