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 を代入できないようです。