반응형
정적 방법을 사용할 때 궁금해합니까?몇 개의 getter와 setter, 메서드 또는 두 개가있는 클래스가있는 경우,이 방법은 클래스의 인스턴스 객체에서만 호출 할 수있게합니다.이것이 정적 방법을 사용해야한다는 것을 의미합니까?
예:
Obj x = new Obj();
x.someMethod();
...또는:
Obj.someMethod(); // Is this the static way?
나는 오히려 혼란 스럽다!
해결 방법
하나의 규칙 - 엄지 손가락 : 아직 객체가 아직 구성되지 않은 경우 에도이 메소드를 호출하는 것이 좋습니다. "그렇다면 분명히 정적이어야합니다.
따라서 클래스 car
메소드가있을 수 있습니다.
double convertMpgToKpl(double mpg)
... 아무도 <코드> 자동차 을 만들지 않아도 35mpg가 변환하는 것을 알고 싶어 할 수 있기 때문에 정적 일 것입니다.그러나이 방법 (특정 <코드> 자동차 )의 효율성을 설정합니다.
void setMileage(double mpg)
... <코드> 자동차 가 생성되기 전에 메소드를 호출 할 수 없기 때문에 정적 일 수 없습니다.
(그건 그렇지 않으면, converse는 항상 true가 아닙니다. 두 개의 car
객체가 포함되어 있고, 여전히 정적이되기를 원하는 방법이있을 수 있습니다. 예를 들어,
Car theMoreEfficientOf(Car c1, Car c2)
이것이 정적이 아닌 버전으로 변환 될 수 있지만, 일부는 "특권"이 없다고 주장 할 것입니다. car
가 더 중요한지, 호출자가 메소드를 호출하는 객체로 <코드> 자동차 하나를 선택하도록 강요해서는 안됩니다.이 상황은 모든 정적 방법의 상당히 작은 부분을 설명합니다.
참조 페이지 https://stackoverflow.com/questions/2671496
반응형
'자바' 카테고리의 다른 글
Java에서 날짜를 비교하는 방법? (0) | 2021.04.16 |
---|---|
Java의 목록으로 배열 변환 (0) | 2021.04.16 |
Java 클래스 파일은 어떻게 작동합니까? (0) | 2021.04.16 |
하나의 활동에서 다른 활동에서 다른 활동으로 객체를 전달하는 방법 (0) | 2021.04.16 |
문자열에서 char의 발생 횟수를 계산하려면 어떻게합니까? (0) | 2021.04.16 |
댓글