java 중: 기본 데이터 형식 매개 변수의 전송 값

기본 데이터 형식의 매개 변 수 는 이 매개 변수 에 전달 하 는 값 의 등급 이 이 매개 변수의 등급 보다 높 으 면 안 됩 니 다.eg. int 형 매개 변수 에 float 값 을 전달 할 수 없 지만 double 값 에 float 값 을 전달 할 수 있 습 니 다.참조 형식 매개 변수의 전송 값: 매개 변수 가 참조 형식 일 때 (배열, 대상, 인터페이스), '전송 값' 이 전달 하 는 변수 가 참조 하 는 실체 가 아니 라 변수 에 존재 하 는 '참조' 입 니 다. * *
자바 의 get 은 값 을 추출 하 는 방법 입 니 다. set 는 값 을 설정 하 는 방법 입 니 다. 예 를 들 어 하나의 name 속성 에 대해 getName 은 이 name 의 이름 을 추출 하 는 것 입 니 다. setName 은 name 의 이름 을 설정 하 는 것 입 니 다. 만약 우리 가 이러한 인 스 턴 스 대상 을 person (클래스 의 대상 이 라 고 한다 면 어떤 People (도면) 에 따라 만들어 진 인 스 턴 스 입 니까?그러면 이때 this. name = name 의 뜻 도 person. name 에 해당 합 니 다. 이제 this 가 말 하 는 것 이 무엇 인지 아 시 겠 죠? 그리고 뒤에 있 는 name 은 바로 우리 함수 방법의 매개 변수 입 니 다. 만약 우리 getName (String x) 이이 name 을 x 로 바 꾸 면 name = x 라 고 쓸 수 있 습 니 다. 왜 이 때 name 을 직접 사용 할 수 있 습 니까? name 은 우리 People 클래스 의 구성원 변수 이기 때 문 입 니 다. 우리 getName 에는 name 이라는 변수 가 없 기 때문에 우리 멤버 변 수 를 직접 참조 합 니 다. 하지만 getName 함수 에 도 같은 이름 의 name 이 정의 되 어 있 습 니 다.변수, 그러면! 이 함 수 는 그 자체 의 이 변 수 를 기준 으로 합 니 다. 그래서 만약 당신 의 원래 예 에서 this 를 사용 하지 않 는 다 면 이 함수 에서 나의 변 수 는 그 자체 가 좋 은 것 과 같 습 니 다. 우 리 는 this 를 다시 말 합 니 다. this 는 바로 현재 이 인 스 턴 스 (인 스 턴 스 를 기억 합 니 다. 우리 가 있 는 인 스 턴 스 이름 은 person) 입 니 다."우리 getName 은 person 이라는 인 스 턴 스 만 인용 하 는 것 이 아 닙 니 다. 만약 에 우리 가 person. name = name 이 라 고 쓰 면 내 가 person 2 라 는 인 스 턴 스 를 만 들 면 이 함 수 를 인용 하 는 것 은 어떤 상황 일 까요? 그러면 이제 this 의 역할 을 알 겠 죠? 그것 이 바로" 나 "라 는 뜻 입 니 다. 당신 이 말 한 나, 나 자신 에 게 말 한 나, 모두 나 (모두 this) 입 니 다.그러나 다른 것 을 가 리 켰 다.
package a;
public class Circle {double radius; double area; Circle () {} Circle (double r) {radius = r; / 반경} void setRadius (double r) {if (r > 0) {radius = r;} double getRadius () {return radius;} double getArea () {area = 3.14radius; return area;}
}
package a;
public class Circular {Circle bottom; double height; / 구조 방법 에는 Circle 형식의 변수 c Circular (Circle c, double h) {/ 구조 방법 이 있 습 니 다. Circle 류 의 인 스 턴 스 인용 을 bottom = c; height = h;} double getVolme () {/ 부피 return bottom. getArea () * height / 3.0;} double getBottomRadius () {return bottom. getRadius ();} public void setBottomRadius(double r) { bottom.setRadius®;//현재 원 bottom 호출 setRadius®방법}
}
package a;
public class Demo02 {
public static void main(String[] args) {
	// TODO Auto-generated method stub
	Circle circle=new Circle(10);//        
	System.out.println("main   circle   :"+circle);
	System.out.println("main   circle   :"+circle.getRadius());
	Circular circular=new Circular(circle,20);
	System.out.println("circular   bottom   :"+circular.bottom);
	System.out.println("   bottom   :"+circular.getBottomRadius());
	System.out.println("     :"+circular.getVolme());
	double r=8888;
	System.out.println("      bottom   :"+r);
	circular.setBottomRadius(r);
	System.out.println("   bottom   :"+circular.getBottomRadius());
	

}

}

좋은 웹페이지 즐겨찾기