这篇文章主要介绍“Scala的Bean属性怎么使用”,在日常操作中,相信很多人在Scala的Bean属性怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Scala的Bean属性怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!一、类class SimpleClass {
var value = 0
}val c = new SimpleClass上面定义了一个简单的类,看起来和java里面并没有多大不同。这里还涉及到另一个问题,如果一个方法没有参数,后面的()是可要可不要的。二、getter and setter还是上面那个类,我们看一下它编译出来的class文件长什么样子,value属性变成了private的,而生成了2个方法,虽然跟java的get&set长得不太一样,但是其实性质是一样的。特殊之处在于, value_$eq ,这个$eq代表的是=,因为java当中=不能出现在方法名当中,所以用 $eq 代替。public class SimpleClass
{
private int value = 0; public int value() { return this.value; }
public void value_$eq(int x$1) { this.value = x$1; }}这个时候,可以正常的访问这个属性val c = new SimpleClass
c.value = 100
val tmp = c.value三、只有getterval onlyget = 100对应的java代码 private final int onlyget = 100; public int onlyget() {
return this.onlyget;
}四、对象私有scala里面有private,这一点和java当中的含义是相同的,不同的是,scala当中还有private[this]。先看这段代码,这样的代码是没有问题的。class SimpleClass {
private var value = 0
def }如果改成下面的样子,问题就出现了,that.value是无法编译通过的。private[this]意味着仅对当前对象,也就是this有效。class SimpleClass {
private[this] var value = 0
def }五、Bean属性我们还可以构建更加java化的get和set,注意 import scala.beans.BeanProperty 是必须的import scala.beans.BeanPropertyclass SimpleClass {
@BeanProperty var value = 0
}调用方法 val c = new SimpleClass
c.getValue()
c.setValue(20)
c.value = 234
val tmp = c.valuejava代码 private int value = 0; public int value() { return this.value; }
public void value_$eq(int x$1) { this.value = x$1; }
public void setValue(int x$1) { this.value = x$1; }
public int getValue() { return value(); }六、主构造函数首先是Scala代码,Scala代码的构造函数和java相比更加紧凑,书写更加简单class SimpleClass(name : String) {
}调用方法val c = new SimpleClass(“bajie”)java代码public class SimpleClass
{ public SimpleClass(String name)
{
}
}这里有几条规则,可以自己去进行实验1、如果构造函数当中的参数,带有val或var修饰符,它天然的被当做类当中的一个属性,也会按照之前的规则来生成get和set方法2、如果构造函数当中的参数,没有val和var修饰符,它仅仅是一个参数,但是当他在class当中被至少一个方法使用的话,它将会升格为一个属性。七、从构造函数这里还有一个规则,每一个从构造函数,都必须以之前的某个从构造函数或者是主构造函数开始。换句话说,只有主构造函数可以调用其父类的构造函数。这一点是与java不同的。class Person(name : String) {
var name = “”;
var age = 0;
def this(name : String, age: Int){
this(name)
this.age = age
}
}八、内部类,与java的内部类概念接近,这里不再赘述。到此,关于“Scala的Bean属性怎么使用”开发云主机域名的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注开发云网站,小编会继续努力为大家带来更多实用的文章!
今天小编给开发云主机域名大家分享一下core-site.xml有哪些内容的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。core-site.xml…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。