ProgramingTip

Java는 C # 속성과 어디에 있습니까?

bestdevel 2020. 10. 21. 21:16
반응형

Java는 C # 속성과 어디에 있습니까?


C # 속성 (get 및 set method)은 매우 유용한 기능입니다. Java에도 C # 속성과 어느 것이 있습니까? Java에서 다음 C # 코드와 같은 것을 구현할 수있는 방법을 의미합니다.

public string Name
{
    get
    {
        return name;
    }

    set
    {
        name = value;
    }
}

미리 감사드립니다


아니요, Java는 동등성이 없습니다. 접근 자 및 뮤 테이터 메서드, getter 및 setter 메서드에 대한 멋진 이름 만 있습니다. 예를 들면 :

public class User {
    private String name;

    public String getName() { return this.name; }
    public void setName(String name) { this.name = name; }
}

보일러 플레이트 자바 코드를 작성하는 데 따른 고통을 없애기 위해 Project Lombok살펴볼 수 있습니다 . getBlah () 및 setBlah () 메서드를 제공하는 @Getter 및 @Setter 주석을 사용할 수 있습니다.

public class GetterSetterExample {
  @Getter @Setter private int age = 10;
}

또는 @Data를 사용하면 자동으로 hashCode (), equals (), toString () 및 getter 메소드와 함께 최종 필드가 아닌 필드에 대한 setter를 구현합니다.

@Data public class DataExample {
  private String name;
}

그러나 프로젝트에서 내가 발견 한 문제는 모두 약간의 존재 교이며, 혼란스럽고 스러울 수 있고, 자동 실행이 작동하는 이클립스 (또는 무엇이든) 설치를 설치해야합니다.


속성은 단위로 작성 getters하고 setters캡슐화하는 편리하게 할 수 있고 호출 지점에서 좋은 구문을 제공합니다.

Window.Title =  "New"; //which looks natural

로 동안 getterssetters는 일반적으로

Window.setTitle("New");

속성 (및 이벤트)에 대한 C #과 행사 지원을 Java에 추가하는 제안이 있었지만 다음 버전의 Java (Java 7)에서는 거부 된 것입니다.

보다 :


전용 변수를 선언하고 메서드를 직접 호출 할 수 있습니다. 그러나 Eclipse를 사용하는 경우 변수를 클릭하고 "소스"및 "게터 및 세터 생성"을 선택할 수 있습니다. 이 C # 속성은 편리합니다.

참고 URL : https://stackoverflow.com/questions/2963243/does-java-have-something-similar-to-c-sharp-properties

반응형