소개 : 자바 객체 지향 프로그래밍 언어, 객체 지향 클래스는 클래스는 사용자 정의 유형이 될 수있는, 당신은 변수를 정의하는 클래스를 사용할 수 있습니다, 중요한 부분이며,이 유형의 변수는 참조 변수라고도합니다. 즉, 모든 클래스는 참조 형식입니다. 자바는 객체 지향 세 가지 특성을 지원합니다 캡슐화, 상속 및 다형성, 하나 하나가 위의 확장 아래에 설명 할 수 있습니다.
첫째, 클래스와 객체 :
클래스 1. 정의 : 하나 개의 클래스는 가장 일반적인 회원의 세 가지가 있습니다 생성자, 멤버 변수와 메소드 . 클래스는 영향의 구성원 간의 순서, 구성원이 서로를 호출 할 수 있습니다를 정의하지 않습니다하지만 주목해야한다 : 수정 정적 멤버가없는 액세스 비 정적 멤버 수정, 수 클래스 자체가 아니라 정적에 속하는 정적 멤버를 수정 수정 회원은 클래스의 인스턴스에 속한다. 그것은 Person 클래스로 정의된다 :
. (1 개) 공용 클래스 사람은 { 2 개 // 멤버 변수 (속성) 3. 문자열 이름] . (4) INT의 연령; . 5 . 6 // 생성자 . 7 공개 인격 () { . 8 . 9 } 10 . 11 공개 인격 (문자열 이름, INT 연령) { 12 인 이 본는 = .name과의 이름; 13 인 이 본 .age = ; 연령 14 } 15 16 // 방법 . 17 공개 보이드가 () {EAT 18 인 에서 System.out.println ( "吃饭" ); 19 } 20 21 22 공공 무효 이야기 (문자열 언어) { 23 에서 System.out.println ( "说话"+ 언어); 24 } 25 }
2. 생산 및 객체의 사용 : 객체 생성자를 만들 수있는 근본적인 방법은이 클래스의 인스턴스를 생성하는 새로운 키워드를 사용하여 클래스의 생성자를 호출하는 것입니다. 예를 들면 :
1 인 P1; 2 P1은 = 새로운 사람 (); 3 // 或 4 인 P2 = 새로운 인 ();
- 변형 된 고정 부재 변수 및 방법은, 단지 클래스를 통해 호출 될 수 없다, 또한 예를 호출 할 수있다;
- 변형 비 정적 멤버 변수 및 방법은 단지 예에 의해 호출 될 수있다.
이 3. 객체 참조 :이 외관의 위치에 따라, 메소드를 호출 한 객체에 대한이 키워드는 항상 점,이 개체에 대한 기본 참고 자료로, 두 가지 시나리오가 있습니다 :
- 목표물 생성자 생성자 초기화
- 참조 객체 메소드의 메소드를 호출
참고 이 수정 된 정적 메서드에서이 참조를 사용할 수 없습니다 당신이 방법이 키워드 정적 수정을 사용하는 경우, 키워드는 적절한 객체를 가리 키지 수 있기 때문에.
또한, 자바는 객체가 수정 정적 멤버 변수, 메소드를 호출 할 수있는 취약 "혼란"구문을 가지고 있지만, 실제로는 발생하지 않아야합니다. Java 프로그램을 사용하는 경우, 수정 된 정적 멤버를 호출하는 객체를 사용하지 않는 ,하지만 클래스를 통해했다.
가 아닌 정적 멤버 정적 메소드를 호출해야하는 경우, 당신은 객체를 통해 호출 개체를 다시 만들 수 있습니다.
이 상황의 사용은해야합니다 방법은 변수와 같은 이름의 멤버 변수 로컬 있었다 경우,하지만 그들은 접근이 방법에서 다루는 멤버 변수를 필요로하는 프로그램은,이 접두사를 사용해야합니다.
둘째, 멤버 변수와 로컬 변수 :
멤버 변수와 로컬 변수 : 변수의 정의의 위치에 따라, 변수는 두 개의 카테고리로 분류 될 수있다.
1. 부재 변수 : 클래스 변수 내에 정의되어, 멤버 변수를 명시 적으로 초기화하지 않고, 상기 멤버 변수 :
- 클래스 변수 (정적 멤버 변수 수정)
- 인스턴스 변수 (비 변형 부재 정적 변수)
2. 로컬 변수 : 변수있어서 참조하는 변수에 더하여, 상기에서 정의 된, 그리고 나머지는 명시 적으로 포함하는, 로컬 변수 초기화해야
- 매개 변수
- 로컬 변수 방법
- 로컬 변수 블록
셋째, 방법은 상세 :
가변 형상 패러미터의 1 수는 방법 : JDK 1.5 이후, 자바에서의 파라미터의 파라미터의 가변 수의 정의를 허용 마지막 유형의 파라미터 증가 세 (...), 복수의 파라미터 들이며 어레이로 전달되므로 하나 개의 접근법은 가변 파라미터의 최대 길이를 가질 수있다.
2. 방법 과부하 둘 이상의 동일한 이름의 방법과 동일한 클래스 있지만 (시퀀스 파라미터 포함) 파라미터리스트를 포함하는 경우, 장전이라있어서 다르다.