主类
class MainActivity : AppCompatActivity() { lateinit var tv_va: TextView override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) tv_va = findViewById(R.id.tv_va) tv_va.setonClickListener { } } // 1.可变参数 fun foo(vararg para: String) {//打印可变参数 传多个参数 直接调用即可 for (i in para.indices) println("${para[i]}") println("${para.contentToString()}") } //2.传函数 //arg01,arg02是实参,arg1,arg2是形参,是要传人的函数 ->Int 返回Int类型,如果没有返回值写成->Unit private fun getResult( arg01: String, arg02: String, methods: (arg1: String, arg2: String) -> Int ) { System.out.println("----->msg:执行方法之前") //1 var ret = methods(arg01, arg02); System.out.println("----->msg:执行方法之后" + ret)//3 } fun logFun(msg: String, msg2: String): Int { Log.d("----->msg:${msg},${msg2}", "----") return 1; } //函数的调用 getResult("哦这是什么:","这是Android啊",::logFun) //3.传接口 private fun initData(handlerBack: HandlerBack) { handlerBack.callBack("你好!") } //调用和实现 // initData(object : HandlerBack { // override fun callBack(info: String) { // println("$info") // } // }) //4.默认参数定义 private fun initDatas(name: String = "张三", handlerBack: HandlerBack) {//有单个默认参数,可以不传参数 多个参数要传值 handlerBack.callBack(name) } //调用和实现 // initDatas("11", object : HandlerBack { // override fun callBack(info: String) { // println("$info") // } // }) }
接口定义
interface HandlerBack { //接口定义 fun callBack(info: String) }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)