Scala是面向对象编程语言
class Cat {
var name: String = ""
var age: Int = _
var color: String = _
override def toString = s"Cat($name, $age, $color)"
}
object CatDemo {
def main(args: Array[String]): Unit = {
val cat = new Cat
cat.name = "小白"
cat.age = 10
cat.color = "白色"
println(cat)
}
}
类和对象的区别
属性/成员变量
创建对象语法
object CreateObj {
def main(args: Array[String]): Unit = {
val emp = new Emp
val emp2:Person= new Emp
}
}
class Person{
}
class Emp extends Person{
}
object MemState {
def main(args: Array[String]): Unit = {
val p1 = new Person2
val p2 = p1
println(p1 == p2)
p1.name = "xx"
p1.age = 26
println(p2)
}
}
class Person2 {
var name:String = ""
var age:Int = _
override def toString = s"Person2($name, $age)"
}
Scala构造器
class MyPerson(inName:String,inAge:Int) {
var name:String = inName
var age:Int = inAge
age += 10
println("------------------")
override def toString: String = {
"name="+this.name+"\t age="+this.age
}
println("ok-------")
println("age="+age)
def this(name: String){
this("jack",10)
this.name = name
}
}
object CreateObj {
def main(args: Array[String]): Unit = {
val emp = new Emp
val emp2:Person= new Emp
}
}
class Person{
}
class Emp extends Person{
}
构造器注意事项
构造器参数
object Demo1 {
def main(args: Array[String]): Unit = {
val worker = new Worker("jack")
worker.name // worker.inName 不可访问
val worker2 = new Worker2("jack")
worker2.inName
worker2.name
val worker3 = new Worker3("jack")
worker3.inName
worker3.name
}
}
class Worker(inName:String){
var name = inName
}
class Worker2(val inName:String){
var name = inName
}
class Worker3(var inName:String){
var name = inName
}
Bean属性
import scala.beans.BeanProperty
object BeanPropertDemo {
def main(args: Array[String]): Unit = {
val car = new Car
car.setName("奔驰")
println(car)
}
}
class Car {
@BeanProperty
var name:String = null
override def toString = s"Car($name)"
}
包
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。