Kotlin 语法初阶

kotlin 发布很久了,但一直没有去系统的学习,这次在学习时,进行了初步整理,做个记录,方便查询

Kotlin 学习
1、数据类型
   int  -->  Int
   double --> Double
   float  --> Float
   long   --> Long
   short  --> Short
   byte   --> Byte
   
   String 字符串   //持有方法,参照文档
   var a:String= "喜欢好吃的";
   //打印每个字符
   for (aa in a) { Log.d("duke","字符串打印=$aa") }
   
   数组
   可变数组
    var sss = mutableListOf<String>()
        sss.add("张三");
        sss.add("李四");
        sss.add("王五");
        sss.add("马六");
    for(ssss in sss){
        Log.d("duke","s=$ssss");
    }
   
   

2、变量
   变量申明: var a:Int = 2;
   常量申明: val a:Int = 2; //类似final 只能赋值一次
   
3、方法
   方法申明: private fun test(a:Int,b:Int){}
   有返回值: private fun test(a:Int,b:Int):Int{... return 2}
   无返回值: private fun test(a:Int,b:Int):Unit{}
   若public   public  fun test(a:Int,b:Int):Int{} //返回类型必须有 若不需要可使用 Unit

4. for循环
    
   for循环有以下几种
   
   var sss = mutableListOf<String>()
        sss.add("张三");
        sss.add("李四");
        sss.add("王五");
        sss.add("马六");
   
   1. for (item in sss) {
            Log.d("duke","$item")
        }
   
   2.for (item: String in sss) {
            Log.d("duke","$item")
        }
	 
	3.for(i in sss.indices){
            var z = sss[i];
            Log.d("duke","s=$z");
        } 
		
	4.for ((index, value) in sss.withIndex()) {
            Log.d("duke","the element at $index is $value")
        }
		
5. 类
   class Rounb {
    var name:String = "" ;
    var age:Int=0;
   } 		
  
   var rounb = Rounb();         //kolint 没有 new
   rounb.name = "张三";
   rounb.age = 12;
   Log.d("duke","name=${rounb.name}");
   
   类的修饰符
   abstract    // 抽象类  
   final       // 类不可继承,默认属性
   enum        // 枚举类
   open        // 类可继承,类默认是final的
   annotation  // 注解类
   
   作用域
   private    // 仅在同一个文件中可见
   protected  // 同一个文件中或子类可见
   public     // 所有调用的地方都可见
   internal   // 同一个模块中可见
   
6. 继承 //个类要被继承,可以使用 open 关键字进行修饰
   open class Base(p: Int)
   class Derived(p: Int) : Base(p) 
   
7. 重写
	open class Person{
    open fun study(){       // 允许子类重写
        println("我毕业了")
		}
	}

	/**子类继承 Person 类**/
	class Student : Person() {
    override fun study(){    // 重写方法
        println("我在读大学")
		}
	}
   
    //调用
    val s =  Student()
    s.study();  // 输出为 我在读大学
	
8. 接口
   接口跟java8 类似,也是 interface	
   
9. 泛型
   class Flower<T>(t:T) {
      var value = t;
   }   

   //调用
   var ass = Flower<Int>(1);
   Log.d("duke","name=${ass.value}");

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页