kotlin 构造函数_Kotlin程序| 主要构造函数示例

kotlin 构造函数

主要建设者 (Primary Constructor)

  • A Kotlin class have Primary constructor and one or more Secondary constructor.

    Kotlin类具有Primary构造函数和一个或多个Secondary构造函数。

  • In Kotlin, Primary Constructor is the Part of Class Header.

    在Kotlin中,主要构造函数是类标题的一部分。

  • Syntax:

    句法:

    class <Class Name> constructor(<optional Parameters>){
    // Class Body
    }
    
    
  • The default visibility of the constructor will be public.

    构造函数的默认可见性将是public。

  • Parameter of the primary constructor can be used in property initializer, declared in the class body.

    可以在类体内声明的属性初始化程序中使用主构造函数的参数。

演示Kotlin中主要构造函数示例的程序 (Program to demonstrate the example of Primary Constructor in Kotlin)

// Declare Class, with Primary Constructor keyword, 
// with one Parameter
class Dog constructor(name:String){
// Used Constructor Parameter to initialize property
// in class body
// String? for nullable property, 
// so property also contain null
private var name:String?=name
fun getDogName(): String?{
return name
}
}
/*
A) Constructor Keyword can be omitted if constructor 
does not have annotations and visibility modifiers.
*/
// Declare class, omitted Constructor Keyword
class Horse (name:String){
// Used Constructor Parameter to 
// initialize property in class body
private var name:String =name.toUpperCase()
fun getHorseName(): String?{
return name
}
}
/*
A) Kotlin has concise Syntax to declaring property 
and initialize them from primary constructor.
class Employee(var empName:String, val salary:Int)
B) same way as regular properties declaration, 
properties declare in primary constructor can be 
var (mutable) or val (immutable)
*/
// Declare class, Properties declare  in primary constructor
class Cat(private var name:String, private val age:Int){
fun setCatName(name:String){
this.name =name
}
fun printData(){
println("Name : $name and Age : $age")
}
}
// Main Function, entry Point of Program
fun main(args:Array<String>){
// Create Dog Class Object
val dog = Dog("tommy")
println("Dog Name : ${dog.getDogName()}")
// Create Horse Class object
val horse =Horse("Chetak")
println("Horse Name : ${horse.getHorseName()}")
// Create Cat Class object
val cat = Cat("Katrina",32)
cat.printData()
cat.setCatName("Micy")
cat.printData()
}

Output:

输出:

Dog Name : tommy
Horse Name : CHETAK
Name : Katrina and Age : 32
Name : Micy and Age : 32

翻译自: https://www.includehelp.com/kotlin/example-of-primary-constructor.aspx

kotlin 构造函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378304.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘

把SQL Server 错误日志导出为EXCEL 并发送到指定的ftp 或者 共享盘 /* 2005版本 和2000 版本 sql server 错误日志结果不同。 下面是 适用于 SQL2000的 其中加入了 自己编写的一个ftp小程序 用来上传 相关日志状况*/IF object_id(tempdb..#error_log) IS NOT NULLD…

c语言软件幻化,python字符串处理

字符串字符串&#xff1a;不可变有序序列&#xff0c;在python可使用 "abc" , """abc""" ,abc 的形式表示&#xff0c;属于一种字面常量&#xff0c;python3中字符均属于Unicode编码。字符串可以被迭代&#xff0c;遍历&#xff0c;切…

第十章 开箱即用

第十章 开箱即用 “开箱即用”&#xff08;batteries included&#xff09;最初是由Frank Stajano提出的&#xff0c;指的是Python丰富的标准库。 模块 使用import将函数从外部模块导入到程序中。 import math math.sin(0)#结果为&#xff1a;0.0模块就是程序 在文件夹中创…

博客换肤

一直以来觉得博客园里的主题不是特别好&#xff0c;很多模版多多少少都有些美中不足&#xff0c;于是今天抽了点时间把主题改改&#xff0c;哈。幸亏博客园支持自定义样式。 时间有限就先改到这里&#xff0c;今后有时间在进一步完美&#xff0c;呵呵。转载于:https://www.cnbl…

duration java_Java Duration类| 带示例的get()方法

duration java持续时间类get()方法 (Duration Class get() method) get() method is available in java.time package. get()方法在java.time包中可用。 get() method is used to return the value for the given unit. get()方法用于返回给定单位的值。 get() method is a non…

Openmv通过串口接收数据、发送数据与stm32通信

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 目录 参考接线星瞳教程openmv传送数据STM32解码程序参考 接线 星瞳教程

c语言尹宝林答案,c程序设计导引 尹宝林

《C程序设计导引》特别适合作为计算机和非计算机专业学生学习高级语言程序设计的教材&#xff0c;也可供计算机等级考试者和其他各类学习者使用参考。17.40定价&#xff1a;44.75(3.89折)/2013-05-01《大学计算机优秀教材系列&#xff1a;C程序设计导引》是一本讲解C程序设计的…

从程序员到项目经理(15):项目管理三大目标

项目管理的三大目标即时间、成本和质量&#xff0c;实际是告诉项目经理应重点关注什么因素&#xff0c;项目控制应该做什么工作。三大目标虽然简单&#xff0c;但如果能将其真正贯彻到自己的行动中&#xff0c;那么对项目计划制定、过程控制等工作&#xff0c;均能起到引导作用…

第十一章 文件

第十一章 文件 打开文件 当前目录中有一个名为beyond.txt的文本文件&#xff0c;打开该文件 调用open时&#xff0c;原本可以不指定模式&#xff0c;因为其默认值就是’r’。 import io f open(beyond.txt)文件模式 值描述‘r’读取模式&#xff08;默认值&#xff09;‘w…

iterator与iterable

用Iterator模式实现遍历集合Iterator模式是用于遍历集合类的标准访问方法。它可以把访问逻辑从不同类型的集合类中抽象出来&#xff0c;从而避免向客户端暴露集合的内部结构。例如&#xff0c;如果没有使用Iterator&#xff0c;遍历一个数组的方法是使用索引&#xff1a; for(i…

Android中的Touch事件处理流程

1、当触摸屏幕时&#xff0c;最先执行的是Activity中的 publicbooleandispatchTouchEvent (MotionEvent ev) {if(ev.getAction() MotionEvent. ACTION_DOWN) {onUserInteraction();}if(getWindow().superDispatchTouchEvent(ev)) {returntrue;}returnonTouchEvent(ev);}如果某…

【TensorFlow学习笔记:神经网络八股】(实现MNIST数据集手写数字识别分类以及FASHION数据集衣裤识别分类)

课程来源&#xff1a;人工智能实践:Tensorflow笔记2 文章目录前言一、搭建网络八股sequential1.函数介绍2.6步法实现鸢尾花分类二、搭建网络八股class1.创建自己的神经网络模板&#xff1a;2.调用自己创建的model对象三、MNIST数据集1.用sequential搭建网络实现手写数字识别2.用…

c语言 在执行区域没有空格,C语言上机操作指导之TurboC.doc

C语言上机操作指导之 -------- Turbo C程序设计是实践性很强的过程&#xff0c;任何程序都必须在计算机上运行&#xff0c;以检验程序的正确与否。因此在学习程序设计中&#xff0c;一定要重视上机实践环节&#xff0c;通过上机可以加深理解 C语言的有关概念&#xff0c;以巩固…

java 根据类名示例化类_Java即时类| from()方法与示例

java 根据类名示例化类即时类from()方法 (Instant Class from() method) from() method is available in java.time package. from()方法在java.time包中可用。 from() method is used to return a copy of the Instant from the given TemporalAccessor object. from()方法用于…

第十二章 图形用户界面

第十二章 图形用户界面 GUI就是包含按钮、文本框等控件的窗口 Tkinter是事实上的Python标准GUI工具包 创建GUI示例应用程序 初探 导入tkinter import tkinter as tk也可导入这个模块的所有内容 from tkinter import *要创建GUI&#xff0c;可创建一个将充当主窗口的顶级组…

Sqlserver 2005 配置 数据库镜像:数据库镜像期间可能出现的故障:镜像超时机制

数据库镜像期间可能出现的故障 SQL Server 2005其他版本更新日期&#xff1a; 2006 年 7 月 17 日 物理故障、操作系统故障或 SQL Server 故障都可能导致数据库镜像会话失败。数据库镜像不会定期检查 Sqlservr.exe 所依赖的组件来验证组件是在正常运行还是已出现故障。但对于某…

江西理工大学期末试卷c语言,2016年江西理工大学信息工程学院计算机应用技术(加试)之C语言程序设计复试笔试最后押题五套卷...

一、选择题1&#xff0e; 设有函数定义&#xff1a;( )。A. B. C. D. 答:A则以下对函数sub 的调用语句中&#xff0c;正确的是【解析】函数的参数有两个&#xff0c;第一个是整型&#xff0c;第二个是字符类型&#xff0c;在调用函数时&#xff0c;实参必须一个是整型&#xff…

第十三章 数据库支持

第十三章 数据库支持 本章讨论Python数据库API&#xff08;一种连接到SQL数据库的标准化方式&#xff09;&#xff0c;并演示如何使用这个API来执行一些基本的SQL。最后&#xff0c;本章将讨论其他一些数据库技术。 关Python支持的数据库清单 Python数据库API 标准数据库API…

【神经网络八股扩展】:自制数据集

课程来源&#xff1a;人工智能实践:Tensorflow笔记2 文章目录前言1、文件一览2、将load_data()函数替换掉2、调用generateds函数4、效果总结前言 本讲目标:自制数据集&#xff0c;解决本领域应用 将我们手中的图片和标签信息制作为可以直接导入的npy文件。 1、文件一览 首先看…

java 批量处理 示例_Java中异常处理的示例

java 批量处理 示例Here, we will analyse some exception handling codes, to better understand the concepts. 在这里&#xff0c;我们将分析一些异常处理代码 &#xff0c;以更好地理解这些概念。 Try to find the errors in the following code, if any 尝试在以下代码中…