Kotlin基础-对象声明和表达式

/*
* 有时候只是要对某个类进行轻微改造,供临时使用,避免继承
* 对象声明和表达式就很有用
*对面向对象编程的优化,避免一些继承导致的代价过高
* */

//对中国人来说,这个类,可能各省人适合继承
open class China(var name:String){
    open val skin="yellow"

}

fun main(args: Array<String>) {
//但如果外国人入籍,就不适合用继承
    //对象表达式:val 对象名=object:类,接口{属性或方法的override定义}
    val baako= object : China("Baako Zaid") {
        override val skin="black"
    }
    println(baako.skin)

    //纯对象表达式:临时使用,无需继承任何类
    val tempParking=object {
        var x=100
        var y=200
    }
    println(tempParking.x)
    //相当于调用函数
    NetworkRequestManager.register()
//伴生对象的方法,与类关联性强
    IdCard.creat()

}

//对象声明,不能在函数中
//一般用于对其他类的一种使用上的包装
object NetworkRequestManager{
    fun register(){
        print("连接网络中")
    }
}
//伴生对象:一般用于创建一个类的实例的“工厂”方法
//java中的静态属性
class IdCard{
    companion object{
        fun creat() =IdCard();
    }
}
时间: 2024-08-08 18:09:19

Kotlin基础-对象声明和表达式的相关文章

Kotlin 对象表达式和对象声明

Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类. 对象表达式 通过对象表达式实现一个匿名内部类的对象用于方法的参数中: window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { // ... } override fun mouseEntered(e: MouseEvent) { // ... } }) 对象

Kotlin 六 对象表达式和对象声明

一 对象表达式和对象声明 Kotlin 用对象表达式和对象声明来实现创建一个对某个类做了轻微改动的类的对象,且不需要去声明一个新的子类. 对象表达式 通过对象表达式实现一个匿名内部类的对象用于方法的参数中: window.addMouseListener(object : MouseAdapter() { override fun mouseClicked(e: MouseEvent) { // ... } override fun mouseEntered(e: MouseEvent) { /

JavaWeb之 JSP:内置对象,EL表达式,JSP标签基础

JSP的内置对象 什么是JSP的内置对象呢? 在JSP页面进行编程的时候,如果我们要使用一些对象,如:HttpSession,ServletConfig,ServletContext这些对象,如果每次都要先创建这些对象,然后再去使用它们,这样就显得十分繁琐了,为了方便使用者,Sun公司在开发JSP的时候,把一些对象设置为内置对象,开发者在JSP页面编程的时候不必声明这些对象就能直接使用,这就是JSP的内置对象. 那么JSP对象有哪些呢? JSP内置对象          对应的类型   备注 R

JavaScript学习总结(三、函数声明和表达式、this、闭包和引用、arguments对象、函数间传递参数)

一.函数声明和表达式 函数声明: function test() {}; test();    //运行正常 function test() {}; 函数表达式: var test = function() {}; test;    //undefined test();   //TypeError var test = function() {}; 命名函数的赋值表达式: var test = function bar() { test();    //正常运行 }; test();    /

Kotlin基础(三)类、对象和接口

类.对象和接口 一.定义类的继承结构 一)Kotlin中的接口 Kotlin的接口与Java8中相似,它们可以包含抽象方法的定义以及非抽象方法的实现,但它们不能包含任何状态. 1 interface Clickable{ 2 fun click() 3 fun showoff()=println("It's show time!") 4 } 5 6 interface Focusable{ 7 fun setFocus(b: Boolean)= 8 println("I ${

第二章(Kotlin基础)

基本要素:函数和变量 函数 函数定义规则 函数通过关键字?fun?用来声明一个函数 参数的类型与函数返回类型写在它的名称后面,这和变量声明一样 函数可以定义在文件的最外层,不一定要把它放在类中 示例: fun max(a: Int, b: Int): Int { return if (a > b) a else b } >>> println(max(1,2)) //打印结果:2 函数的声明以关键字 fun?开始,函数名称紧随其后:上面示例中函数名称是max,接下来是括号括起来的参

函数:声明和表达式

函数:声明和表达式 函数,像变量一样,可以在代码的任意地方定义它. JS 提供了几个方法去定义它们. 1.函数声明     (Function Declaration) 2.函数表达式  (Function Expression) 3.通过调用new Function 返回. 语法 创建一个函数的基本方法是通过一个函数声明.语法如下: function f(arg1, arg2, ...) {    ... code ... } 实现起来像这样子: 1 function sayHi(name)

Spring基础系列6 -- Spring表达式语言(Spring EL)

Spring基础系列6 -- Spring表达式语言(Spring EL) 转载:http://www.cnblogs.com/leiOOlei/p/3543222.html 本篇讲述了Spring Expression Language —— 即Spring3中功能丰富强大的表达式语言,简称SpEL.SpEL是类似于OGNL和JSF EL的表达式语言,能够在运行时构建复杂表达式,存取对象属性.对象方法调用等.所有的SpEL都支持XML和Annotation两种方式,格式:#{ SpEL exp

声明和表达式区别

函数:声明和表达式 函数,像变量一样,可以在代码的任意地方定义它. JS 提供了几个方法去定义它们. 1.函数声明     (Function Declaration) 2.函数表达式  (Function Expression) 3.通过调用new Function 返回. 语法 创建一个函数的基本方法是通过一个函数声明.语法如下: function f(arg1, arg2, ...) {    ... code ... } 实现起来像这样子: 1 function sayHi(name)