kotlin开发Android入门篇二类的使用与创建

基础篇:类的使用与创建

关键字class 、open 、abstractconstructor、init、data、inner、enum、:等以下专门针对以上提出来进行讲解任何一个类必须带有class进行修饰这点与java一致,新建的类默认是没有任何修饰符仅仅包含class修饰,默认新建类时不可修改和继承,如果想要继承则需使用open或者abstract进行修饰前者是代表这个类时开发的可被继承的后者代表这个类是抽象的;constructor与init,前者代表构造方法的关键字在kotlin的类中的构造方法中如果class 类名(...object){}则代表这个类名的构造方法是一个主构造方法,其余构造方法都为次级构造方法,init代表类被初始化时候所进行的方法相当于java的初始化块;data、inner、enum分别代表数据类嵌套类枚举类;而:这个关键字值得是继承相当于java的(extend)作用

接下来看程序段为你解释:

 

为了让读者区分引用与结构的比较使用=====以及equals()这几个比较首先===是作用于对象的引用判断是否同一个对象而==equals()都是对结构的判断是否组成的结构一致当然结构不等的判断也可以这样表达对象!==对象也会返回一个布尔类型以下可看运行效果截图对比

 

在这两个类中声明一个抽象的动物类让一个类名为了狗的一个类去继承他然后进行输出并重写一个声音的抽象方法 注意在eat方法用了super这个关键字去调用父类吃的方法

 

声明了一个数据类在且构造参数为一个name和一个age的构造参数在ClassDemo.kt文件中的Main方法写道data类的一个copy方法当初始化了一个数据类除了一些参数是不同外其余参数相同就可以只传入不同参数的value其余则使用一个copy()的方法生成一个对象

 

在这个Farm类中使用了关键字inner去构建两个DogSheep的嵌套类然后去调用water、以及food的成员变量的引用

 

在一个Status类中被一个enum进行修饰代表他是一个枚举类,枚举类对于一些已确定参数的时候或者状态的时候去调用判断则是非常便捷的如判断游戏手柄状态物理传感状态等进行相应的处理

最后运行效果截图讲解

  

首先在Main函数中初始了两个不同的Dog对象直接走了两次init方法看出了init作用其次对这个两个dog对象进行引用以及结构对比然后调用其中一个dog对象的eat方法由于eat方法中存在super调用了父类的eat方法所以eat被打印出来了然后依次调用这个对象中的一些方法,之后对两个file对象进行引用以及结构判断由于两个file都是构建出来的所以内存的中的内存地址不一致所以引用地址不一致但是传过去的文件地址是一致所以导致他们的结构构建是一致的返回了一个true的结构然后是一个对象类的创建以及复制创建的使用,其次就是一个嵌套类的基本用法以及枚举类的用法。严重注意在kotlin中创建对象不需要new也就是说没有这个new的关键字去构建一个对象Main方法中已经很清楚的告诉你如果去构建一个对象了