scala如何对待伴侣对象?
发布时间:2020-12-16 18:05:39 所属栏目:安全 来源:网络整理
导读:我是 Scala的新手,拥有 Java背景. 在java中我们想要在类的不同对象之间共享任何字段.我们声明该字段是静态的. class Car { static NO_Of_TYRES = 4; // some implementation.public int getCarNoOftyres(){ NO_Of_TYRES; // although it's not a good practi
我是
Scala的新手,拥有
Java背景.
在java中我们想要在类的不同对象之间共享任何字段.我们声明该字段是静态的. class Car { static NO_Of_TYRES = 4; // some implementation. public int getCarNoOftyres(){ NO_Of_TYRES; // although it's not a good practice to use static without class name //but we can directly access static member in same class . } } 但是在Scala中我们不能在类中声明静态字段,我们需要使用对象(伴随对象). class Car { println(NO_Of_TYRES); // scala doesn't let us do that. gives error println(Car.NO_Of_TYRES);// this is correct way. } object Car { val NO_Of_TYRES: Int = 4; } 我只是好奇,scala如何对待伴侣对象? 解决方法
我想引用关于同一主题的另一个答案:
What are the advantages of Scala’s companion objects vs static methods?
另见Odersky的书Programming in Scala – Chapter 4 – Classes and Objects的第4.3节 Scala将所有内容视为其实例的纯对象.在这个视图中,java静态成员不是任何实例的一部分,它生活在一个单独的不同生活中. 使用关键字对象和一些语法糖的技巧,您可以实现相同的结果,但保持规定的原则:实例化该对象的单个实例,并提供该实例的全局访问点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |