因为Kotlin成为了开发android的官方语言,而Kotlin的确有很多优点,总结起来就是短小快,我把它看成java的android版。
下面进入主题,首先看代码变化。
java:
Button button = findviewbyid(R.id.button)
button.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
Toast.makeText(this,"hello java",Toast.LENGTH_SHORT);
}
} ;
Kotlin:
button.setOnClickListener {toast("hello kotlin")}
这里需要注意以下几点:
1、不用再写findViewById了,直接写id即可;
2、经过lambda,函数扩展的演化,利用重载,把所有用不到的参数舍去。
第二段代码
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)
}
}
这里有几点变化:
1、extends变成了:
2、变量名称写在了前面,类型写在了后面。
3、函数统一写fun
4、分号没有了