Kotlin与Java的使用区别
来源:互联网 发布:域名培训开场白 编辑:程序博客网 时间:2024/06/02 00:48
1.类的声明
java类的成员变量,构造方法,成员方法声明方式
public class JavaBean { private String name; public JavaBean(String name) { this.name = name; } public void hello(){ System.out.println("name="+name); }}
kotlin类的成员变量,构造方法,成员方法声明方式
class KotlinBean(val name:String){ fun hello(){ println("name"+name) }}
区别:
kotlin把成员变量的声明和构造方法的声明合并在了一起。
使用val相当于java的private,变量私有;
使用var相当于java的public,变量可以直接被外部类引用。
2.布局控件的声明
Java方式
TextView tv_message = (TextView) findViewById(R.id.tv_message);tv_message.setText("Hello Java!");
Kotlin的方式
tv_message.text = "Hello Kotlin!"
区别:控件不用findviewbyid,直接通过控件的id赋值
3.java与kotlin的创建,相互调用
java类中创建kotlin对象,调用其方法
KotlinBean kotlinBean=new KotlinBean("Peter");kotlinBean.hello();
kotlin类中创建java对象,调用其方法
var javabean=JavaBean("Petter")javabean.hello()
4.对象的空指针
java中如果对象为空,可能会在运行时,抛出空指针异常
JavaBean javaBean=null;javaBean.hello();
kotlin中的对象通过?符号,在编译时做空检查,如果为空则不运行对象中的方法。
var kotlinbean: KotlinBean? =nullkotlinbean?.hello()
5.循环语句
java
String s="Example";for (char c : s.toCharArray()) { System.out.println("c="+c);}
kotlin
var s="Example" for (c in s){ println("szy-->"+c)}
6.方法的重载
java
public void toast(String message){ Toast.makeText(this,message,Toast.LENGTH_LONG).show();}public void toast(String message,int length){ Toast.makeText(this,message,length).show();}
kotlin
fun toast(message:String,length:Int=Toast.LENGTH_SHORT){ Toast.makeText(this,message,length).show()}//调用方式toast("message")toast("message",0)
区别
kotlin在入参中设置默认值,在调用的时候可以不用传参数,
相当于重载了java中的只有一个入参的方法。
阅读全文
6 0
- Kotlin与Java的使用区别
- kotlin 与 java 语法区别
- Kotlin与Java在语句和表达式上的区别
- kotlin和java的区别
- Kotlin与Java的共存-Java中调用kotlin代码
- Kotlin与Java的共存-kotlin调用java代码
- Kotlin的一些基础使用以及在android studio使用与java的不同
- Kotlin概述与Java的比较
- Java与Kotlin的不同(一)
- Java 与 Kotlin 的语法对照
- Kotlin与Java不兼容的情况
- Kotlin配置与使用
- Kotlin笔记(二) : Kotlin与Java对比
- 【Kotlin】Kotlin与Java反射实践
- Android开发,Kotlin的了解与学习(八)-----kotlin与java的互相调用
- Kotlin的使用记录
- Kotlin 分支的使用
- Kotlin的初步使用
- 利用Matlab对txt文本文件进行归类
- hdu1212(大数取模) java版本
- 需要学习的mysql函数
- linux 模块编译实例
- 消息中间件 Apache Qpid 简介
- Kotlin与Java的使用区别
- 机器学习&深度学习资料汇总
- char和varchar2对比
- 公共基础知识02
- 文件上传时判断是否为图片
- Visual studio 添加引用时报错未能正确加载ReferenceManagerPackage包的解决方法
- 学习ios控件之UIButton
- 怎么将Excel文件的坐标点加载到GoogleEarth中
- linux 库