-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathHelloKotlin.kt
85 lines (68 loc) · 1.57 KB
/
HelloKotlin.kt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import cls.sample.Student
/**
* Created by HaohaoChang on 2017/5/22.
*/
fun main(args: Array<String>) {
var list = arrayOf("java", "c++", "Android", "Kotlin", "iOS")
list.map {
"Hello $it"
}.filter {
!it.contains("c")
}.forEach {
println(it)
}
//var p = Person("nannan", 18, "China")
var p = Person()
var flag: Boolean? = true
flag?.let {
p.sayHello()
}
var s = Student("zstu", "haohao")
s.sayHello()
var shape = Shape(Drawer("react"))
shape.drawShape()
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
map.forEach { (t, u) ->
println("$t, $u")
}
for ((key, value) in map) {
println("$key, $value")
}
}
//class Person(var name: String, var age: Int = 18) {
//
// private var address: String? = null
//
// init {
// name = "haohao"
// }
//
// constructor(name: String, age: Int, address: String) : this(name, age){
// this.address = address
// }
//
// internal fun sayHello() {
// println("Hello! I am $name, $age, from $address")
// }
//}
class Person public constructor() {
private var name: String? = null
private var age: Int = 25
constructor (name: String, age: Int) : this() {
this.name = name
this.age = age
}
internal fun sayHello() {
println("Hello! I am $name, $age.")
}
}
class Shape (private var drawer: Drawer?){
fun drawShape(){
drawer?.draw()
}
}
open class Drawer constructor(var name: String?){
fun draw(){
println("Draw $name")
}
}