繁体   English   中英

Java中的继承(Android Studio)

[英]Inheritance in Java(Android Studio)

我想制作一个测验应用程序,让我的成绩变量在每个活动中都继承。

我不知道如何执行这项任务。

这是我的MainActivity代码,在其中声明了全局变量。

public class MainActivity extends AppCompatActivity {

    public int score=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
    }

    public void start(View v)
    {
         Intent intent = new Intent(this,question1.class);
         startActivity(intent);
    }

}

这是我要在其中继承的类:

public class question1 extends MainActivity {

    MainActivity ma= new MainActivity();
    ma.score;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_question1);
    }
}

在Android中,不建议您使用变量在整个应用程序中存储数据(也不能使用继承来存储数据),这是一种不好的做法。

您要执行的操作:

  1. 将一些int作为score存储在父类中
  2. 在子类中继承score以做某事

为什么这是一个问题:

首先,继承此score将不允许您以任何方式在子类中对其进行修改。 Java不允许您覆盖继承字段的值。 请参阅信息。 其次,在类之间创建继承关系只是为了获取一些数据是徒劳的……因为继承将从父类继承所有内容 ,而这并不是您所需要的。

解:

相反,Android API具有诸如SharedPreferencesSQLite之类的功能,这些功能为您提供了存储数据的选项。

为什么?

因为将这些数据存储在SharedPreferencesSQLite中几乎可以看作是将其存储在全局变量中,以便您在需要时在整个应用程序中使用。 它的存储使您可以在需要时进行读/写操作,并且在应用程序关闭时不会被破坏。

请看看对存储选项Android提供更多的信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM