저는 최근 자바에서 스칼라로 일부 코드를 변환하여 언어를 가르치고 있습니다.
class Person() {
var name:String = "joebob"
}
지금 나는 내가 스칼라에 있었다면 것처럼 그래서 나는 점 표기법을 사용할 수 없습니다 자바에서 액세스를 원하는 :
우리가이 스칼라 클래스가 있다고 가정.
person = Person.new();
System.out.println(person.name());
과를 통해 그것을 설정 :
그래서 실행하여 내 VAR의 내용을 얻을 수 있습니다
Compiled from "Person.scala"
public class Person extends java.lang.Object implements scala.ScalaObject{
public Person();
public void name_$eq(java.lang.String);
public java.lang.String name();
}
: person = Person.new();
person.name_$eq("sallysue");
System.out.println(person.name());
이것은 우리 사람 클래스은 javap이 보이는 진정한 원인을 보유
네, 제 자신의 getters/setter를 쓸 수는 있지만 클래스를 작성하는 것이 싫고 톤을 만들어 내지 못합니다. 나는 이미 그것들을 가지고 있다고 생각한다. 단지 _ $ eq 메쏘드의 별명을 바꾸고 싶다. (실제로 antlr과 같은 물건을 다루는 경우 악화됩니다. 그걸 피하기 위해 person.name _ \ $ eq ("newname")과 같이 보입니다.
참고 : 더 setter 메소드 내 수업이 참아보다는 채우기 위해 에게 그래서 당신은이 상황에서 어떻게 할 것인지
가