小编bma*_*pin的帖子

私人内容提供商有什么用?

Android Dev Guide

内容提供程序对于读取和写入应用程序专用但不共享的数据也很有用.

通常,内容提供商用于向不同的应用程序提供数据或在它们之间共享数据.我想知道私人提供商是否有任何用处并且不想分享它.如果没有提供直接访问数据库或文件系统的权限,是否有任何好处?

谢谢,拉贾斯

android data-storage android-contentprovider

43
推荐指数
1
解决办法
6450
查看次数

声明一种类型的对象与另一种类型的对象有什么好处?

可能重复:
Base b2 = new Child(); 表示?

我是Java初学者.我理解类继承的概念,但有一点我不太明白.我正在阅读Java for Dummies,它正在解释多态性.它以此代码为例:

class Player {
    public void move() {...

class BetterPlayer extends Player {
    public void move() {...

public class TicTacToeApp {
    public static void main(String[] args) {
        Player p1 = new Player();
        Player p2 = new BetterPlayer();
        playTheGame(p1, p2);
    }

    public static void playTheGame(Player p1, Player p2) {
        p1.move();
        p2.move();
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么p2被创建为Player对象?这是我的理解:

如果p2是一个BetterPlayer对象(声明如下:BetterPlayer p2 = new BetterPlayer ...):-
upcasting是自动的,所以它仍然适用于playTheGame方法
-p2可以被需要BetterPlayer对象的任何方法使用

但由于它是作为Player对象创建的,现在任何时候p2都被需要BetterPlayer对象的方法使用,它必须显式地转换为BetterPlayer对象,对吧?这似乎更多的工作没有任何好处,所以我猜这样做必须有一些好处; 它是什么?

java oop polymorphism

3
推荐指数
1
解决办法
306
查看次数