추천 강좌: Java Tutorial
1. 먼저, 클래스가 무엇인지 알아야 할까요? 객체란 무엇입니까?
클래스 - 추상적입니다. 이는 두 가지 주요 부분인 속성과 서비스를 포함하는 공통 속성과 서비스를 가진 객체의 추상화(또는 모음)입니다.
객체 - 구체적입니다. 시스템에서 객관적인 것을 기술하기 위해 사용되는 개체입니다. 시스템을 구성하는 기본 단위입니다.
클래스와 객체의 관계는 몰드와 캐스팅의 관계와 같습니다. 클래스의 인스턴스화 결과는 객체이고, 객체 유형의 추상화는 클래스입니다.
2. 클래스 정의
Java에서 클래스를 정의하는 일반적인 형식: 수정자 클래스 클래스 이름 {member}
이해: 수정자는 선택 사항이며 공개 여부입니다.
class - 키워드, 필수입니다.
클래스 이름 - 첫 글자는 대문자로 표기하며, 카멜 케이스 명명 규칙에 따라 이름이 지정되어야 합니다.
member - 멤버 속성과 멤버 메서드가 있으며 이에 대해서는 아래에서 자세히 설명합니다.
3. 멤버(필드) 정의
1. 멤버 속성 정의
格式:[ public | private | protected ] [ static ] [ final ] 类型 成员名
이해: 유형 및 멤버 이름은 필수이고 나머지는 선택 사항입니다.
공용 공개 멤버 - 다른 패키지도 액세스 가능;
static
정적 멤버 - 클래스에 속하지만 특정 개체에 속하지 않으며 클래스의 모든 개체가 이 멤버를 공유합니다. 정적 개체가 아닌 모든 개체는 액세스하기 전에 인스턴스화되어야 합니다. static
静态成员——属于类的,它不属于具体的对象,该类的所有对象共享该成员。所有不是static的对象的对象都要实例化才能访问。
Static成员或方法直接通过类名访问(通过:类名. 引用);
final 成员——最终成员,其值不能被改变;
final 类——最终类,不能被继承;
final 方法——最终方法,该方法不能被重写;
注意:final和public可以加载类上面,而static不能。
2、成员方法定义
格式:[public|private|protected] [static] [final] 类型 方法名(形参){ 方法体; return表达式; }
理解:
类型(首字母大写)(必须):指返回值的类型(既可以是基本类型,也可以是对象类型);
方法名 (必须):做什么;
方法体:定义了方法的具体内容,通常起到两个作用:一是围绕类的属性进行各种操作,二是与其他的类与对象进行数据交流、消息传递的操作;
形参(可选):只有两种类型:基本类型和对象类型。方法调用中参数用来传递数值、传递引用,同时方法还可以嵌套、递归调用;
return除了能返回值,还可以结束此方法体,值得注意的是:方法体中如果指定了非void的返回类型,方法中就必须包含一条return语句保证任何情况下都有返回数值,return语句后面不能跟任何表达式。
注意:在一个方法中定义另一个方法将产生语法错误(方法不能嵌套定义,类可以),最好避免局部变量”屏蔽“实例(成员)变量,在一个类中不使用同名标识符就可以做到这一点。
若同名了成员变量被屏蔽,此时又要访问成员变量,可用this.成员变量
2. 멤버 메소드 정의
public class Student { //创建了一个名为Student的公共类 public String name;//定义name属性 在String前加上public,则其他包也能调用此属性,不加则无法调用 public void study(){ System.out.println("我是学生"+name+",正在学习"); } //写一个公共方法study() public static void hi(){ System.out.println("hi,everybody!"); } //写一个静态的公共方法hi() }이해:
유형(첫 글자 대문자)(필수): 반환 값 유형(기본 유형 또는 객체 유형)을 나타냅니다. (필수): 수행할 작업 🎜🎜🎜🎜메서드 본문: 일반적으로 두 가지 역할을 수행하는 메서드의 특정 내용을 정의합니다. 하나는 클래스 속성을 중심으로 다양한 작업을 수행하는 것이고, 다른 하나는 다른 클래스와 통신하는 것입니다. 클래스 및 객체 통신 및 메시지 전달 작업 🎜🎜🎜🎜형식 매개변수(선택 사항): 기본 유형과 객체 유형의 두 가지 유형만 있습니다. 메소드 호출의 매개변수는 값과 참조를 전달하는 데 사용되며 메소드는 중첩되어 재귀적으로 호출될 수도 있습니다. 🎜🎜🎜🎜return은 값을 반환할 뿐만 아니라 메소드 본문을 종료할 수도 있습니다. 메소드 본문이 지정되었습니다. void가 아닌 반환 유형의 경우, 어떤 상황에서도 값이 반환되도록 메소드에 return 문이 포함되어야 합니다. return 문 뒤에는 어떤 표현식도 올 수 없습니다. 🎜🎜참고: 메서드에서 다른 메서드를 정의하면 구문 오류가 발생합니다(메서드는 중첩될 수 없고 클래스는 중첩될 수 있음). 인스턴스(멤버) 변수를 로컬 변수로 "보호"하는 것을 피하고 동일한 식별자를 사용하지 않는 것이 가장 좋습니다. 수업 시간에 이름을 짓는 것이 전부입니다. 🎜🎜🎜같은 이름의 멤버 변수가 차단되어 해당 멤버 변수에 다시 접근하고 싶다면
this.member 변수
를 사용하세요. 🎜🎜🎜이해: 🎜🎜🎜🎜로컬 변수: 메소드에서 선언되거나 정의된 변수, 이 메소드가 호출될 때 변수가 생성되고 이 메소드가 실행될 때 해제됩니다. 🎜🎜🎜🎜인스턴스 변수: 모든 메소드에서; 클래스 본문 외부에서 선언되거나 정의된 경우 유효한 범위는 전체 클래스입니다. 🎜🎜🎜🎜Shielding은 덮어쓰지 않습니다🎜🎜🎜🎜🎜 🎜이제 클래스가 생성되었으므로 멤버 변수만 정의할 수 있습니다. 메소드만 포함하는 클래스입니다. 클래스에 멤버 변수만 있으면 이 클래스는 아무 것도 할 수 없습니다. 클래스가 작업을 수행하려면 클래스의 메소드를 다른 클래스에서 호출할 수 있으므로 이 클래스에 대해 메소드를 정의해야 합니다. 객체를 통해 다시 클래스의 인터페이스라고 부릅니다. 🎜🎜🎜5. 간단한 예는 다음과 같습니다. 🎜🎜rrreee위 내용은 자바 클래스를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!