Доступ к значению переменной из дочернего класса - PullRequest
0 голосов
/ 25 сентября 2019

Могу ли я получить доступ к переменной global в дочернем классе из родительского действия (в зависимости от того, какое действие открыто в данный момент и которое наследуется от действия NavigationDrawer)?Скажите, пожалуйста, как можно исправить код, чтобы он работал.

OpenArea.java

public class OpenArea extends NavigationDrawer
{
    ...
    Pack global;
    ...
    public Pack getGlobal()
    {
        return this.global;
    }

    public void setGlobal(Pack global)
    {
        this.global = global;
    }
    ...
}

SecretArea.java

public class SecretArea extends NavigationDrawer
{
    ...
    Pack global;
    ...
    public Pack getGlobal()
    {
        return this.global;
    }

    public void setGlobal(Pack global)
    {
        this.global = global;
    }
    ...
}

NavigationDrawer.java

public class NavigationDrawer extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener
{
    ...
    Intent intent1 = new Intent(NavigationDrawer.this, Login.class);

    Bundle bundle = new Bundle();
    bundle.putParcelable("global", getGlobal());
    intent1.putExtras(bundle);

    startActivity(intent1);
    finish();
    ...
    abstract Pack getGlobal()
    {
    }

    abstract void setGlobal(Pack global)
    {
    }
    ...
}

В нем говорится, что я пытаюсь использовать абстрактные функции getGlobal и setGlobal в неабстрактном классе.Итак, я должен перейти к какому-то новому абстрактному классу для реализации абстрактных функций getGlobal и setGlobal?

Если тогда я не смогу реализовать свои другие функции в NavigationDrawer в абстрактном классе.Если NavigationDrawer сделан абстрактным, я также не смогу реализовать свои другие функции в NavigationDrawer в абстрактном классе NavigationDrawer.

Если я попытаюсь реализовать функции getGlobal и setGlobal в новом абстрактном классе,тогда NavigationDrawer должен наследовать от этого абстрактного класса.Поскольку NavigationDrawer уже реализуется из класса AppCompatActivity, поэтому множественное наследование невозможно.Итак, я должен использовать какой-то новый интерфейс вместо абстрактного класса?Некоторая концепция абстрактного интерфейса недоступна для использования вместо абстрактного класса.Пожалуйста, посоветуйте мне, как это сделать.Пожалуйста, помогите мне с любыми предложениями от кого-либо.

...