小编tez*_*ezz的帖子

无法在Android中导入com.google.cloud.speech.v1.SpeechGrpc

我正在尝试在Android项目中使用Google的Speech API.示例项目有效.我在自己的Android应用程序中使用它时遇到了麻烦.

build.gradle(模块:app):

apply plugin: 'com.android.application'
apply plugin: 'com.google.protobuf'

ext {
    supportLibraryVersion = '25.4.0'
    grpcVersion = '1.4.0'
}
android {
    compileSdkVersion 25
    buildToolsVersion "25.0.3"

    defaultConfig {
        applicationId "ApplicationID"
        minSdkVersion 16
        targetSdkVersion 24
//        compileOptions {
//            sourceCompatibility JavaVersion.VERSION_1_5
//            targetCompatibility JavaVersion.VERSION_1_5
//        }
    }
    signingConfigs {
        release {
            storeFile file(project.properties.storeFile)
            storePassword project.properties.storePassword
            keyAlias project.properties.keyAlias
            keyPassword project.properties.keyPassword
        }
    }
    productFlavors {
        dev {
            // Minimum version with platform multi-dex support
            minSdkVersion 21
        }
        prod {
            // Minimum version that …
Run Code Online (Sandbox Code Playgroud)

java android google-cloud-platform google-speech-api google-cloud-speech

9
推荐指数
1
解决办法
3548
查看次数

Java中匿名对象的默认引用类型

假设我的代码是,

class A {
    void print() {
        System.out.println('A');
    }
}

class B extends A {
    @Override
    void print() {
        System.out.println("B");
    }
}

class C {
    void print(A a) {
        System.out.println("AA");
    }
    void print(B b) {
        System.out.println("BB");
    }
}

class test {
    C c = new C();
    c.print(new B());    // line 3
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,第3行打印"BB".如果我void print(B b)在C类中删除我的方法,那么第3行打印"AA".我知道多态,继承和传值的概念.我的问题是为什么引用类型new B()是类型的B,A当我删除C类中的方法时它是类型的.我错过了某种官方规则吗?在编译阶段和运行时阶段会发生什么?

java oop reference

2
推荐指数
1
解决办法
61
查看次数