社内se × プログラマ × ビッグデータ

プログラミングなどITに興味があります。

Java と kotlin で android の MainActivity

以下、どちらも Android Studio で自動的に生成されたクラスになります。
Java

public class MainActivity extends AppCompatActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
}

kotlin

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
  }
}

継承
kotlin では : (コロン)で継承しているみたいです。何となく変数の型を指定しているように見えますが、class に対してなので。

?
Bundle? のように、型宣言に ? を付けた場合は nullable(null の代入可能) という意味になるようです。
kotlin は明示的に ? を付けないと、null を代入できないようです。