cari

Rumah  >  Soal Jawab  >  teks badan

java - Mengapa pembolehubah ahli dalam antara muka bukan pemalar?

switch (from) {
            case TAGs.casts://constant expression required
                break;
        }
        
//我的TAGs.casts是这样的
public interface TAGs {
    String casts = String.class.getSimpleName();
}

//如果写成这个样子就可以编译
public interface TAGs {
    String casts = "String";
}

Bukankah dikatakan bahawa pembolehubah ahli dalam antara muka semuanya pemalar? Mengapa saya tidak boleh menggunakan gesaan untuk memerlukan pemalar pada kes itu?

phpcn_u1582phpcn_u15822715 hari yang lalu839

membalas semua(4)saya akan balas

  • 滿天的星座

    滿天的星座2017-06-23 09:15:11

    Apabila menggunakan antara muka, anda mesti menetapkan nilai awal kepada pemalar Jika anda menulisnya sendiri tanpa memberikan nilai awal, ia mesti salah.

    balas
    0
  • 習慣沉默

    習慣沉默2017-06-23 09:15:11

    Kes dalam suis perlu menentukan nilai pada masa kompilasi, dan String.class.getSimpleName();

    balas
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-23 09:15:11

    Memang. Satu diperlukan pada masa penyusunan, dan satu lagi adalah masa jalan (kaedah refleksi semuanya adalah masa jalan). Saya salah menjawabnya sebelum ini - apabila saya melihat java berkesan, ia telah diubah suai oleh statik akhir. Terdapat juga cadangan di dalamnya, sila gunakan kelas penghitungan untuk mengeksport pemalar.

    balas
    0
  • 大家讲道理

    大家讲道理2017-06-23 09:15:11

    不是说接口中的成员变量都是常量吗请问这句话从哪里听来的?
    常量需要使用static finalPengubahsuaian, dan nilai awal perlu diberikan

    balas
    0
  • Batalbalas