scala对象简单记录

object Person {

  private val eyeNum = 2

  def getEyeNum = eyeNum

  def main(args: Array[String]): Unit = {
    println(Person.getEyeNum)  // 2
  }

}

  

abstract class Hello(var message:String) {

  def sayHello(name :String)

}

object HelloImpl extends Hello("hello"){

  override def sayHello(name: String): Unit = {
    println(message + "," + name)
  }

  def main(args: Array[String]): Unit = {
    HelloImpl.sayHello("yxj")
  }

}

  

/**
  * 一个类和一个object对象名字相同,都在一个.scala文件中,那么他们就是伴生类和伴生对象
  *
  * @param name
  * @param age
  */
class People(name:String , age:Int ) {

  def sayHello = println("hi," + name +", your age is " + age + ",your eyeNum is " + People.eyeNum)

}

object People {

  private val eyeNum = 2

  def getEyeNum = eyeNum

}

object objectsTest{

  def main(args: Array[String]): Unit = {
    val yy = new People("yxj" , 30)
    yy.sayHello
  }

}

  

/**
  * object中apply方法的使用,简化对象创建的过程
  *
  */

class Apple(name:String ,age:Int) {
  println(name + "," + age)
}

object Apple{

  // 伴生对象的apply简化了创建伴生类的方式
  def apply(name: String, age: Int): Apple = new Apple(name, age)

  def main(args: Array[String]): Unit = {
    val a = Apple("yxj" , 30)
    println(a)

    // 普通的创建类的过程
    val a1 = new Apple("yxj" , 31)
    // 伴生对象定义了apply后,不需要在使用new关键字来创建一个类的对象实例了

  }

}

  

原文地址:https://www.cnblogs.com/yxj0728/p/9281809.html

时间: 2024-10-06 07:58:44

scala对象简单记录的相关文章

使用Application对象简单完成网站总访问人数的统计

  Global.asax文件: using System.IO; protected void Application_Start(object sender, EventArgs e) { FileStream fs = File.Open(Server.MapPath("counter.txt"),FileMode.OpenOrCreate); StreamReader sr = new StreamReader(fs); Application["count"

u-boot命令行调试LCD简单记录

一般来说,调试uboot最好的方式是使用openjtag,因为uboot说到底就是一段裸机程序,只不过比较复杂.但是受实际环境限制,实际工作中使用较多的调试技巧主要有两种:打印和直接在命令行测试,打印比较常见也比较简单,直接使用printf即可,这里就以最近这段时间调试uboot下面lcd为例,简单说说命令行调试. 平台: am335x,u-boot 2010.09,linux 3.10 问题: 由于此版本u-boot比较旧,没有整套framebuffer子系统框架,所以采取的是移植好官方裸机驱

简单记录一次ORA-00600 kcratr_nab_less_than_odr

当前详细报错已经没有了,只有相应图.参考EYGLE一篇文章中数据: 1.故障现象 数据库版本11G,错误类似以下: ORA-00600: 内部错误代码, 参数: [kcratr_nab_less_than_odr]错误,具体的错误信息类似: Incident 63078 created, dump file: /u01/diag/rdbms/orcl/orcl/incident/incdir_63078/orcl_ora_1916_i63078.trc ORA-00600: 内部错误代码, 参数

简单记录一次REDO文件损坏报错 ORA-00333重做日志读取块出错

一.故障描述 首先是实例恢复需要用到的REDO文件损坏 二.解决方法 1.对于非当前REDO或者当前REDO但是无活动事务使用以下CLEAR命令: 用CLEAR命令重建该日志文件SQL>alter database clear logfile group 3: 如果是该日志组还没有归档,则需要用SQL>alter database clear unarchived logfile group 3: 因为是当前实例恢复需要用的REDO,且未归档,使用是CLEAR命令不行的. 2.没备份,有备份可

简单记录一次ORA-00600: internal error code, arguments: [2662]

接上一个,REDO报错搞定后OPEN数据库时又报错ORA-00600: internal error code, arguments: [2662]. 原因是_ALLOW_RESETLOGS_CORRUPTION后resetlogs打开数据库,我们可能会由于SCN不一致而遭遇到ORA-00600 2662号错误,这里给出一个完整的例子及解决过程. 现象及解决--这个没拍照参考EYGLE的吧 Sun Dec 11 18:02:25 2005 Errors in file /opt/oracle/a

简单记录一次ORA-00600: internal error code, arguments: [4194]

接上一篇,在搞定SCN问题后,又遇到ORA-600[4194]/[4193]报错. 故障现象: OPEN数据库时报错:ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [] 4193:表示undo和redo不一致(Arg [a] Undo record seq number,Arg [b] Redo record seq number ): 4194:表示也是undo和redo不一致(Arg [a

Java对象简单实用(计算器案例)

Java对象简单实用(计算器案例) 对 Java中的对象与属性,方法的使用,简单写了个案例 1 import java.util.Scanner; 2 class Calculste 3 { 4 int a; //定义两个整数 5 int b; 6 String option; //定义接收操作符的字符串 7 public void count(){ 8 9 //对操作符进行判断 10 switch(option){ 11 case "+": 12 System.out.println

javascript 对象简单解释

在javascript 中 数组是对象,函数是对象,正则表达式是对象,当然对象自然也是对象. 对象是属性的容器,每个属性都有名字和值,名字可以是包括空字符串在内的任意字符串,属性值是除undefined值之外的任何值. 若在对象中检索一个并不存在的成员变量值,将返回一个undefined值. 使用 || 运算符填充默认值: var middel = stooge["middle-name"] || "{none}" 尝试检索一个undefined值可能倒是typeE

像素缓冲区对象PBO 记录

像素缓冲区对象PBO 记录 和所有的缓冲区对象一样,它们都存储在GPU内存中,我们可以访问和填充PBO,方法和其他的缓冲区一样. 当一个PBO被绑定到GL_PIXEL_PACK_BUFFER,任何读取像素的OpenGL操作都会从PBO中获取它们的数据,如glReadPixels,glGetTexImage和glGetCompressedTexImage.通常的操作会从FBO或纹理中抽取数据,并将它们读取客户端内存中.当PBO绑定到GL_PIXEL_PACK_BUFFER时,像素数据在GPU内存中