компилятор ругается на переменную this: "Переменную "this" нельзя использовать в статическом контексте.
файл com/javarush/task/task06/task0603/Solution.java, строка 20, позиция 557"
А я никакого this не писал...
Объясните суть претензии, пожалуйста :)
Текст программы:
int i;
for (i = 1; i <= 50000; i++)
{
Cat cat = new Cat(); // вот на эту строчку указывает компилятор, как будто здесь у меня this используется. Это косяк компилятора или я чего-то не понимаю?
cat = null;
Dog dog = new Dog();
dog = null;
}
package com.javarush.task.task06.task0603;
/*
По 50 000 объектов Cat и Dog
*/
public class Solution {
public static void main(String[] args) {
// int i;
// for ( i = 1; i <= 50000; i++) {
// Cat cat = new Cat();
// Dog dog = new Dog();
// cat = null;//вот здесьCatпервый объект становится доступен сборщику мусора
// dog = null;//вот здесь первый объект становится доступен сборщику мусора
// }
// System.out.println(i);
int i;
for (i = 1; i <= 50000; i++)
{
Cat cat = new Cat();
cat = null;
Dog dog = new Dog();
dog = null;
}
System.out.println(i);
}
class Cat {
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("A Cat was destroyed");
}
}
class Dog {
@Override
protected void finalize() throws Throwable {
super.finalize();
System.out.println("A Dog was destroyed");
}
}
}