LINUX.ORG.RU

История изменений

Исправление Aber, (текущая версия) :

Спасибо! На сколько оно Java-way?

Совсем не javaway.

1. Сделва переменную статической ты шаришь состояние хронящеется в статической переменной между всеми экземплярами класса A

A a1 =  new A();
A a2 =  new A();

a1.a = 10

assertEquals(a1, a2)
assertEquals(10, a2)

Можно было бы сделать так:

class A {
    int a = 5;
    public void printMethod(){ System.out.println(a); }
}

class B extends A {
    {
        a = 6;
    }
}
Но...
2. Все поля в java должны быть приватными, как раз потому как поле не переопределить, не задекларировать в интерфейсе, не проксировать.

Java-way:

class A {
    int getA() {
        return 5;
    }
}

class B extends A {
    @Override
    int getA() {
        return 6;
    }
}

Исходная версия Aber, :

Спасибо! На сколько оно Java-way?

Совсем не javaway.

1. Сделва переменную статической ты шаришь состояние хронящеется в статической переменной между всеми экземплярами класса A

A a1 =  new A();
A a2 =  new A();

a1.a = 10

assertEquals(a1, a2)
assertEquals(10, a2)

Можно было бы сделать так:

class A {
    int a = 5;
    public void printMethod(){ System.out.println(a); }
}

class B extends A {
    {
        a = 6;
    }
}
Но...
2. Все поля в java должны быть приватными, как раз потому как поле не переопределить, не задекларировать в интерфейсе, не проксировать.

Java-way:

class A {
    void getA() {
        return 5;
    }
}

class B extends A {
    @Override
    void getA() {
        return 6;
    }
}