kotlin学习Day1:JavaActivity和KotlinActivity对比分析
来源:互联网 发布:java上传图片到ftp 编辑:程序博客网 时间:2024/06/05 08:38
kotlin包的定义
包名应该定义为源文件的最上面,所有其它的内容如函数或者类等都要在包名的下面(和Java一样)使用package关键字:
我们新建一个JavaActivity文件和KotlinActivity观察包的部分不难发现:
Java:package lbjfan.kotlin.demo;(==分号结尾==)Kotlin:package lbjfan.kotlin.demo(==没有分号==)
包的导入均使用import关键字:
Java:import android.app.Activity;(分号结尾)Kotlin:import android.app.Activity(没有分号)
类的继承:
Java继承使用extends关键字,如:
public class JavaActivity extends Activity
Kotlin则使用:表示:
class KotlinAcativity : Activity
方法重写:
Java使用@Override在方法上面申明,如: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
Kotlin则使用Override在方法前面申明,如:override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_kotlin) }
观察上面Java和kotlin方法重写中所传参数的差异,我们来理解变量定义:
Java中变量的定义:
1)数据类型 变量名 如:int a;2)数据类型 变量名=初始值 如:int a = 1;
Java中常量的定义,采用final关键字:
final 变量类型 常量值 如:int a = 1;
Kotlin中变量的定义,采用var关键字:
1)申明数据类型:var 变量名:数据类型 = 值,如:var a:Int = 1;2)不申明数据类型:var 变量名 = 值;如:var a=1;(系统会根据初始值识别变量的数据类型)
Kotlin中常量的定义,采用val关键字:
1)申明数据类型:val 常量名:数据类型 = 值,如:val a:Int = 1;2)不申明数据类型:val 常量名 = 值;如:val a=1;
**不管是定义变量还是常量,如果初始化的时候不赋值,则必须指定其数据类型**
至于上面重写方法onCreate()里的参数则是申明了一个Bundle类型的称为savedInstanceState的对象,?则告诉编译器该对象可以为空。
至此,我们简单了解了Kotlin的相关知识,并和Java代码进行了对比分析,读者可以自行使用体会。
阅读全文
0 0
- kotlin学习Day1:JavaActivity和KotlinActivity对比分析
- Kotlin学习笔记——Day1
- Android Studio 使用kotlin建立第一个KotlinActivity配置
- kotlin 和java 的对比
- Kotlin学习笔记(二):Kotlin与Java对比
- Kotlin对比Java之一:Any和Object
- jQuery源码学习 item3- get()和eq()分析和对比
- JavaActivity工作流
- Kotlin学习博客和文章
- Kotlin 学习之类和继承
- Kotlin学习笔记——与java对比
- Kotlin快速入门(1) -- 与Java的对比学习
- Kinect学习-DAY1:配置和测试
- Clang和LLVM学习(Day1)
- python学习-Day1-python简介和安装
- 4.1 Java语言和Kotlin语言对比(1)-基础类型
- 4.1 Java语言和Kotlin语言对比(3)
- Kotlin 对比 转化
- 高级网络配置
- 2017省赛热身赛总结
- 蓝桥杯 算法训练 表达式计算 JAVA
- Django-pyodbc的安装
- U-BOOT启动kernel的过程
- kotlin学习Day1:JavaActivity和KotlinActivity对比分析
- 素数判断 Java
- leetcode 561 Array Partition I
- 职业规划
- [调研] 防火墙多出口 对于 内部服务器网络的影响
- |BZOJ 2763|最短路|[JLOI2011]飞行路线
- 十六进制转二进制 Java
- nginx实现tomcat动静分离详解
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Uva253