一步步学习kotlin for android(二)创建kotlin类

来源:互联网 发布:excel设置数据标签 编辑:程序博客网 时间:2024/06/06 10:47

好了,开始学习kotlin的语法

首先说明,在不熟悉kotlin的情况下,可以使用java转kotlin的方式,了解两种语言的转换,就是先写java代码,然后

通过code----convert java file to kotlin file来查看对应的kotlin代码,非常好用,但是没有  kotlin转java的方法,非常遗憾,可能也是为了google逼着用kotlin吧

不管他,接下来,就按照创建项目的顺序来

1.首先要创建类:右击,创建kotlin类,分两种,一个是kotlin activity  一个是kotlin class,这俩其实没区别,kotlin activity只是直接给你建好了类和继承了

AppCompatActivity()
,kotlin class只是建立了一个空的文档,所以,刚建立的时候是这样的

跟其他的不一样图标,其实是因为你没有在里面写代码,创建类呢,你建好了类,就变成正常的样子了。这里说一句,类的继承是使用 : 代替extends,而且继承的类是要带上()的,比如继承Fragment  ,是下边的,Fragment是要带上()的。

class FragmentJava : Fragment() {    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle): View? {        val view = inflater.inflate(R.layout.activity_main, null)        return view    }}
再继续,先学习语法。

2.最基础的,就是定义变量和常量:

      val是常量,相当于java 的final。比如  val a=1;这个a就是1了,是不可更改的。后边你再来a=2;就会报错

      var是变量,比如var a=1;a是可以更改的,后边可以给a赋值,a=2;a=3都行。

     那么这个a是什么类型呢,kotlin设置了自动识别 的功能,当你不给赋值类型时,就自动识别,如果想要设置,可以这样设置     var a:Int=1;冒号后边的Int就是他的类型,kotlin的类型放在了变量的后边。这里不得 不提一句,kotlin的很多值方式都是跟java相颠倒,java是 int a=1;这边就是a:int=1;牢记这个对学习kotlin有帮助。

3。就android来说,用的最多的不是数组,而是ArrayList集合,当在是studio上使用ArrList的时候,做全局定义和初始化,是这样的:

      java是这样的:

public class MyTest extends Activity {    private ArrayList<String> arr;    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        arr = new ArrayList<String>();        arr.add("");        arr.add("");        arr.add("");        for (int i = 0; i < arr.size(); i++) {            Log.i("", "arr[i]====" + arr.get(i));        }    }}
kotlin是这样的:

class MyTest : Activity() {    private var arr: ArrayList<String>? = null    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        arr = ArrayList<String>()        arr!!.add("")        arr!!.add("")        arr!!.add("")        for (i in arr!!.indices) {            Log.i("", "arr[i]====" + arr!![i])        }
       for ((i, value) in arr!!.withIndex()) {            Log.i("TAG", "i:$i,value:$value");       }
 }}
我是将java代码直接转换成kotlin代码,,初始化时候的?号是说集合可以为空,  arr!!后面的!!号是说一旦arr为空,则抛异常。下面是两种for循环方式,后边记录

接下来参考下http://blog.csdn.net/to_yan/article/details/51881818  

原创粉丝点击