클래스는 실제로 템플릿입니다. 예를 들어 클래스는 집의 디자인 도면과 같고, 클래스를 만드는 것은 그림을 디자인하고 템플릿을 조각하는 것과 같습니다. 객체는 건축된 집이나 형상화된 모형과 같습니다. 물론, 집을 짓거나 모형을 만들려면 먼저 도면과 템플릿이 필요하며, 이것이 클래스와 객체 간의 관계입니다.
관련 무료 학습 권장 사항: Basic Java Tutorial
먼저 Java의 클래스는 키워드 클래스로 정의되며 클래스의 요소를 멤버 속성이라고 합니다. 클래스의 함수를 멤버 메서드라고 합니다.
class Person { public int age;//成员属性 实例变量 public String name; public String sex; public void eat() {//成员方法 System.out.println("吃饭!"); } public void sleep() { System.out.println("睡觉!"); }}
다음은 클래스
class Person { public String name; public String sex; public int age; //....人的属性}
를 정의한 다음 이 클래스를 사용하여 객체를 생성하는 것입니다. 그러면 마침표 .를 통해 이 객체의 멤버에 액세스할 수 있습니다. 아래 그림을 보세요
Person person = new Person();//实例化一个对象
. 할당이 없기 전에는 기본적으로 해당 유형에 해당하는 값 0이 할당되는 것을 볼 수 있습니다.
type | 해당 0 값 |
---|---|
정수 유형 | 0 |
부동 소수점 유형 | 0.0 |
문자 유형 r | /u0000 |
참조 유형 | 널 |
참고: 여기에 기본값이 0인 이유는 모두 멤버 변수이고 로컬 변수에 속하지 않기 때문입니다. 따라서 로컬 변수에는 기본값을 할당해야 사용할 수 있습니다. 사용된.
클래스 변수는 정적 변수로 static 키워드로 수정되어 메소드 영역에 저장됩니다. 클래스가 로드될 때 공간이 할당됩니다. 즉, 인스턴스화된 객체가 없어도 클래스 변수를 사용할 수 있습니다. 객체가 없는 경우에도 class를 통해 클래스 변수를 사용할 수 있습니다. name.variable name
마찬가지로 static으로 수정되는 메서드를 클래스 메서드라고도 합니다. 정적 메서드는 클래스 변수와 동일한 속성을 가지며, 클래스가 로드될 때 공간을 할당하고, 인스턴스화된 객체에 의존하지 않습니다. 클래스 이름.함수 이름()을 통해 직접 호출됩니다.
변수와 메서드가 정적이 아닌 경우 객체를 사용하기 전에 new 키워드를 통해 객체를 인스턴스화해야 합니다.
클래스 정의에는 많은 액세스 한정자가 있으며, 이름에서 알 수 있듯이 public과 private이 가장 일반적으로 사용됩니다. 소위 public은 public이라는 의미입니다. , 예를 들어
public을 사용하여 멤버 변수를 수정하면 정상적으로 사용할 수 있으며 객체의 멤버는 점을 통해 액세스됩니다. private은 비공개이므로 사용할 수만 있습니다. 현재 클래스 내부에서 사용되며 외부에서 참조할 수 없습니다.
다른 클래스에서 사용해야 하는 경우 공용 인터페이스를 제공하고 이를 사용해야 하는 클래스에 호출해야 합니다. 간단히 말해서 공용 메서드를 작성하면 다음을 통해 데이터를 나에게 전달합니다. 다음 메소드와 같이 이름을 보면 해당 메소드의 기능을 알 수 있습니다. 이 메소드를 사용해 보겠습니다.
공개 인터페이스를 통해 알 수 있습니다. 조심스러운 작은 파트너는
변수 이름 이 setName 및 기타 메소드에 나타나는 것을 발견할 수 있습니다. 이것은 실제로 현재 메소드에 대한 참조 를 나타내는 키워드입니다. . 그렇다면 이 키워드가 있는 이유는 변수 이름이 동일하면 로컬 변수의 사용이 제한되어 값을 할당할 수 없기 때문입니다. 이를 제거한 후 이름은 다음과 같습니다. 이는 지역 변수가 먼저 사용되어 클래스에 값이 할당되지 않았기 때문입니다.
this.name을 추가하면 setname이 필요하지 않습니다. 객체를 생성할 때 매개변수만 직접 전달하면 됩니다.
위 내용은 블로거가 오늘 공유한 내용입니다. 기사에 불분명하거나 잘못된 내용이 있으면 댓글을 달거나 비공개 메시지를 보내 지적해 주세요. 블로거가 시간에 맞춰 처리할 것입니다. 좋습니다. 이번 블로그는 여기서 마치고 다음 블로그에서 뵙겠습니다.
이 기사는 다음에서 복제되었습니다: https://blog.csdn.net/JunFengYiHan/article/details/116066556
저자: JunFengYiHan
위 내용은 Java 클래스 및 객체에 대한 자세한 설명에 중점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!