Java类与C ++类

user470760:

我刚开始学习为Android进行开发,并且我来自严格的C ++背景。我发现Java不支持多重继承,但是我们真的必须为每个新的Activity创建一个单独的.java文件吗?

我有一个TabActivity,还有另外3个构成标签的Activity。我想在其中一个标签上创建一个列表视图,但是我开始感到困惑。我是否需要制作另一个扩展ListActivity的.java文件?如果我需要为每个活动创建一个单独的.java文件,那么即使是相对较小的应用程序也会变得非常庞大。

边注

如果我想将ListView添加到我的一个标签中,我该怎么做?到目前为止,我还没有发现如何在其他活动中添加新活动。

步伐:

其他答案为接口提供了很好的信息,这可能是您正在寻找的更多信息。但是,有关更多信息,您不必为每个新类都创建一个新的.java文件,这里有替代方法但是,请记住,更多的类不一定是一件坏事。您的选择是...

嵌套类:

public class A {

    public/private class B {

    }

}

B的实例可以访问A的私有变量,但是没有A的实例就不能构造(这是按钮处理程序等常用的方法)

嵌套静态类:

public class A {

    public/private static class B {

    }

}

B的实例无法访问A的私有变量,但它们不需要A的实例即可进行构造。如果B声明为public,则B的实例可以在任何地方实例化;如果B声明为private,则只能在A的方法中实例化。

匿名类:

public class A {

    private void setupLayout() {

        ...
        button.addClickListener(new ActionListener() {
            public void actionPerfored(ActionEvent e)
            {
                handleClick();   
            }
        });
    }

}

这种奇怪的语法会创建一个没有名称的类,并且其功能与嵌套类相同(例如,可以访问私有变量)。这是编写嵌套类的另一种形式,有时会更短,但会导致语法非常奇怪。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章