J2SE 기본: 1.클래스 및 객체 베이스

4544 단어 J2SE

객체란?


자바 언어에서 모든 사람, 사물 또는 모듈은 하나의 대상이다.
같은 대상은 같은 특성을 가지고 있다.
개, 고양이, 뱀 3개 대상(동물의 대상)
사과, 배, 귤 3개 대상(과일 대상)

무슨


현실 생활 속의 대상을 추상화할 수 있다
이런 추상적인 데이터 유형을 클래스라고 부른다.
동물류(Animal)
과일류

클래스와 객체의 관계


클래스는 대상의 템플릿(추상화 표시), 대상은 클래스의 실례화(상세화 표현)

클래스 구성 구조


Java는 8가지 기본 데이터 유형 제외
대상은 클래스에서 나온다.따라서 클래스는 자바 프로그램을 구성하는 가장 기본적이고 핵심적인 것이다
원소.
변수(속성, 구성원 변수)
방법(함수, 구성원 방법, 책임)
메시지(대상과 대상 간의 통신, 대상 데이터 간의 전달)

속성 정의


속성 정의


속성의 초기값(기본값)
boolean
false
byte/short/int/long 
0
float 
0.0f
double 
0.0d
char 
‘\u0000’
객체 유형
null

변수의 분류와 작용역


클래스 변수: 클래스 대상은 대상에 속한다.static 수식의 변수를 클래스 변수라고 부른다.
정적 영역 중.단 한 번의 실례화로 메모리를 한 번만 점령할 수 있다.
객체의 구성원 변수: 구성원 변수는 객체에 속합니다.
퇴적 구역.
국부 변수.국부 방법에서 정의된 변수와 형식 매개 변수는 모두 국부 변수이다.
창고 구역.
변수의 역할 영역(라이프 사이클)
서로 다른 유형의 변수가 메모리에서 살아남는 시간이다.
방법의 분류:
반환 값으로 나누기
반환값 있음
반환값 없음
매개변수별로 나누기:
매개 변수 방법이 있어요.
매개 변수 없음 방법
void sum (int x, int y): 매개 변수 정의 사이를 쉼표로 구분합니다.
sum(x,y);
//호출도 쉼표로 구분한다.
실제 매개변수
형식 매개변수.
매개변수가 전달될 때 실참이 형삼에게 전달되는 방법은 두 가지입니다.
A: 전달이 기본 데이터 형식이라고 가정하면 값의 복사일 뿐이다.
B:전달이 대상 유형이라고 가정하면 전달은 대상의 주소입니다.
기능별 방법
구조 방법
인스턴스 방법(객체 방법, 멤버 방법)
유형 방법
구성 방법:
는 인스턴스화된 객체에서 실행해야 하는 작업입니다.
새 대상을 구축하는 데 사용되는 초기화 작업입니다.
만약 구조 방법이 없다면 시스템 자체가 주동적으로 빈 구조 방법을 만들 것이다.
만약 구조 방법이 있다면 시스템은 더 이상 구축되지 않을 것이다.
참고 사항:
구조 방법은 무참한 구조 방법이 아니다
public Person(int id){
}
Person person = new Person();//잘못
A:Person person = new Pserson(1);
B:빈 구조 방법을 하나 더 제공합니다.
this:
현재 객체를 나타냅니다.
this 자신을 가리키는 인용
현재 대상의 속성과 방법을 this로 호출할 수 있습니다.
메소드 재부팅(OverLoad)
방법 중재란 같은 종류 내의 여러 방법이 같은 이름을 누릴 수 있다는 것을 가리킨다.
그러나 이러한 방법의 매개 변수는 반드시 달라야 한다(매개 변수의 개수가 다르거나 매개 변수의 유형이 다르다).
호출할 때 매개 변수의 개수나 유형을 통해 컴파일러가 도대체 어떤 것을 호출할지 찾습니다
방법
유형 방법, 대상 방법, 구조 방법 모두 방법의 중재를 할 수 있다.
다시 불러오는 매개 변수가 계승 관계가 있다고 가정할 때프로그램에서 서술을 정확하게 묘사하지 않으면
전달의 유형.그렇지 않으면 호출된 것은 모두 하위 클래스 매개 변수에 부합되는 방법이다.
Object obj = null;
String str = null;


test.print(obj);		//    
test.print(str);		//    
test.print(null);		//      ,       。


public void print(Object some){
	System.out.println("Object version print"); 
}
public void print(String some){
	System.out.println("String version print");
} 
/**
 *     Student  
 */
public class Student{
	//       
	int stu_id;
	char stu_sex;
	String stu_name;

	//   
	static String class_id = "JN1001";


	//       
	int getScore(){
		//      
		int english = 0;
		return english;
	}
	int getScope2(){
		double math = 12.345;

		return (int)math;
	}
	//       
	void study(){
		System.out.println("     Java");
	}	

	public static void main(String args[]){
		Student stu = new Student();
		stu.study();
		
		int result = stu.getScore();

		int result2 = stu.getScope2();
		System.out.println("result = "+result + ",result2 = "+result2);

	}



}
public class Student_Method{

	//    
	public Student_Method(){
		System.out.println("       ");
	}

	//  (  )  
	int divde(int x,int y){
		return x / y;
	}

	//   
	static int sum(int x,int y){
		return x + y;
	}

	public static void main(String args[]){
		//     
		Student_Method.sum(2,3);

		//      
		//Student_Method.divde(2,3);	//    
		System.out.println("1111");
		Student_Method test = new Student_Method();
		System.out.println("222");
		test.divde(3,4);
	}
}
public class TestOverLoad{
	public static void main(String[] args){
		Test test = new Test();
		//test.print(null); 
		Object obj = null;
		String str = null;
		StringBuffer strBuffer = null;
		System.out.println(obj);
		System.out.println(str);
		test.print(obj);
		test.print(str);
		test.print(strBuffer);
		test.print(null);
	} 
}
class Test{

	public void print(Object some){
		System.out.println("Object version print"); 
	}
	public void print(String some){
		System.out.println("String version print");
	} 
	public void print(StringBuffer some){
		System.out.println("StringBuffer version print"); 
	}

}

좋은 웹페이지 즐겨찾기