Kotlin语言(3)- 函数的可见性修饰符

可见性修饰符

  Java中有public、private、protected和default,而Kotlin中也有4种,public、private、protected和internal。

  private 修饰符在两种语言中的作用是一样的,都表示只对当前类内部可见。
  public修饰符的作用虽然也是一致的,表示对所有的类都可见,但是在Kotlin中public修饰符是默认项,而在Java中default才是默认项。
  protected关键字在Java中表示对当前类、子类和同一包路径下的类可见,在Kotlin中则表示只对当前类和子类可见。Kotlin抛弃了同一包路径下的类可见,引入了一种新的可见性概念。
  internal修饰符是只对同一模块中的类可见,不暴露给外部。

数据类和单例类

数据类

当在一个类前面声明了data关键字时,就表明你希望这个类是一个数据类,Kotlin会根据主构造函数中的参数帮你将equals()、hashCode()、toString()等固定且无实际逻辑意义的方法自动生成、从而大大减少了开发的工作量。

data class Cellphone(val brand: String,val price: Double)

fun main(){
	val cellphone1 = Cellphone("Samsung", 1299.99)
	val cellphone2 = Cellphone("Samsung", 1299.99)
	println(cellphone1)
	println("cellphone1 equals cellphone2 " + (cellphone1 == cellphone2))
}

//很明显我们可以得到这样的结果
Cellphone(brand = Samsung, price = 1299.99)
cellphone1 equals cellphone2 true

//如果没有data,结果为
Cellphone@16b98e56
cellphone1 equals cellphone2 false

单例类

单例模式,最常用、最基础的设计模式之一,它可以用来避免重复的对象。

object Singleton{
	fun singletonTest(){
		println("singlentonTest is called.")
	}
}

Singleton.singleTonTest()

这种写法看上去像是静态方法的调用,但其实Kotlin在背后自动帮我们创建了一个SingleTon类的实例,并且保证全局只存在一个Singleton实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

特辣番茄炒鸡蛋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值