대학 3 학년 1 학기 자바 과정 기 말 복습 노트 정리 (1)

이것 은 제 가 방금 지난 학기 에 자바 과정의 기 말 복습 노트 입 니 다. 기계 공학 출판사 의 (유 혜 녕 등 편저) 를 바탕 으로 시험 97 점 을 받 았 습 니 다. 후배 들 에 게 도움 이 되 었 으 면 좋 겠 습 니 다.       여기 서 설명 하 는 것 은 다음 과 같은 모든 요점 은 제 가 복습 하 는 과정 에서 개인 적 으로 기록 할 만하 다 고 생각 하 는 것 입 니 다. 자바 의 중점 을 대표 하 는 것 이 아 닙 니 다.1. 자 바 는 왜 플랫폼 과 무관 합 니까?    자바 코드 는 JVM 에서 바이트 코드 라 는 특수 기계 코드 로 특정한 기 계 를 대상 으로 하지 않 는 가상 기계 코드 이기 때문이다.2.javac.exe        자바 컴 파일 러 - 클 라 스 클래스 생 성 대상  java.exe         자바 해석 프로그램  3. applt 프로그램 에는 main () 방법 이 입구 로 되 어 있 지 않 습 니 다.4. 자바 에 서 는 boolean 과 다른 유형의 데 이 터 를 서로 변환 할 수 없습니다.5. char 형식 데 이 터 는 산술 연산 에 참여 할 수 있 으 며, 그 값 은 유 니 코드 값 이기 때문에 자바 에 서 는 char 를 정수 형식 으로 분류 합 니 다.6. 자바 에서 모든 기본 데이터 형식 이 차지 하 는 저장 공간 과 수치 범 위 는 고정 적 인 플랫폼 과 무관 합 니 다.7. 자바 는 순수한 대상 언어 가 아니다.8. void 방법 은 return 문장 = = return 이 있 을 수 있 습 니 다.9. 방법 을 다시 불 러 옵 니 다. 방법 이 같 고 매개 변수 목록 이 다 릅 니 다.10. 구조 방법: Public 클래스 이름 ();        반환 값 이 없 는 것 이 아니 라 void 방법 이 아니 라 인용 값 입 니 다. 이 대상 의 메모리 주소 등 정 보 를 포함 합 니 다.11. 기본 데이터 와 대상 은 방법 매개 변수 로 서 전달 체제 가 다 르 고 전 자 는 값 을 전달 하 며 후 자 는 인용 을 전달한다.12. 데이터 구성원 의 기본 초기 화:  boolean - false, char - ", by te - 0, short - 0, int - 0, long - 0, float - 0.0f, double - 0.0 (0.0d). 13. 자바 의 대상 인용 초기 값 은 null 이 며, 구성원 에 게 접근 하면 NullPointor 이상 을 보고 하지만 컴 파일 러 는 이 오 류 를 발견 할 수 없습니다.14. 자바 의 기본 구조 방법 은 이러한 구조 방법 에 만 유용 하 다. 사용자 정의 구조 방법 이 있 으 면 컴 파일 러 는 하나의 구조 방법 을 만 들 지 않 는 다.(private, proctected) 클래스 의 접근 권한 을 제어 합 니 다. 16. 구성원 접근 권한 제어                public   모든 클래스 접근 가능                protected 같은 가방 의 모든 클래스 및 소재 클래스 의 하위 클래스                friendly (기본 수정자) 같은 가방 의 모든 클래스, 하위 클래스 는 할 수 없습니다.                private 는 17. static 수식 류 의 한 구성원 변 수 를 사용 할 수 있 을 때 하나의 저장 공간 만 유지 하고 클래스 이름 을 통 해 직접 접근 할 수 있 습 니 다.             클래스 의 대상 도 방문 할 수 있 습 니 다.             static 를 이용 하여 문장 에서 static 구성원 을 초기 화 하 는 전형 적 인 예:            
//StaticInit.java
			class Cat
			{
				Cat(int i){
					System.out.println("Cat("+i+")");	
				}
				
				void f(int i){
					System.out.println("f("+i+")");
				}
			}
			
			class Cats{
				static Cat c1;
				static Cat c2;
				static 
				{
					c1 = new Cat(1);
					c2 = new Cat(2);
				}	//static     
				
				Cats(){
					System.out.println("Cats()");
				}
			}
			
			
			public class StaticInit{
				public static void main(String[] args)
				{
					System.out.println("mian()");
					Cats.c1.f(7);
					Cats c = new Cats();
				}
			}
 
             static 수식 방법 은 클래스 의 다른 비 static 구성원 에 접근 할 수 없습니다.      18. 뾰족 한 구성원 변수 나 구성원 방법 이 proctected 라면 가방 에 있 는 비 하위 클래스 는 이 방법 이나 변 수 를 방문 할 수 없 음 이 분명 합 니 다. 그러나 하위 클래스 가 이 클래스 를 계승 한다 면 다른 클래스 는 이 하위 클래스 를 통 해 부모 클래스 의 proctected 멤버 를 방문 할 수 없습니다. 19. 자바 는 하위 클래스 대상 을 만 들 때 부모 클래스 의 구 조 를 자동 으로 호출 합 니 다.만 드 는 방법 은 부모 클래스 에서 물 려 받 은 데이터 구성원 을 초기 화 하 는 것 으로 바 뀌 었 다.    부모 클래스 의 기본 구조 방법 을 자동 으로 호출 합 니 다.    또 다른 사용자 정의 호출 은 슈퍼 (param list) 를 사용 하 는 것 입 니 다. 이 방법 을 사용 할 때 슈퍼 (param list) 를 하위 구조 방법의 첫 마디 에 두 어야 합 니 다.       20. '키워드 this 와 마찬가지 로 클래스 방법 에 해당 하 는 슈퍼 인용 이 없습니다' 를 어떻게 이해 합 니까?    슈퍼 s = new 슈퍼 () 와 같은 this 와 슈퍼 를 클래스 로 사용 할 수 없습니다. 잘못된 것 입 니 다.    21. 상속 내용 에서 주의해 야 할 것 은 주의해 야 할 것 은 다음 과 같다.        무 거 운 짐 이 무엇 인지, 다시 쓰 는 것 이 무엇 인지.        하위 클래스 가 부모 클래스 방법 에 대해 overwrite 를 할 때 접근 권한 만 향상 시 킬 수 있 습 니 다. 즉, private - protected - Public 는 반대로 안 되 고 컴 파일 러 가 잘못 보고 할 수 있 습 니 다.        final 방법 은 다시 불 러 올 수 있 습 니 다. 다시 쓸 수 없습니다.        클래스 의 개인 적 인 방법 은 모두 final 이지 만 하위 클래스 에서 이름 이 같은 방법 을 만 들 수 있 습 니 다. 그 이 유 는 private 가 하위 클래스 에 보이 지 않 기 때 문 입 니 다. 그래서 이 과정 은 덮어 쓰 는 것 이 아니 라 하위 클래스 에 부모 류 와 같 지만 아무런 관계 가 없 는 방법 을 썼 습 니 다.        22. final 류, 무 자식 류, 계승 불가        모든 방법 은 final 입 니 다. 표시 하지 않 아 도 됩 니 다.        모든 데이터 구성원 은 final 이 아 닐 수 있 으 며, 기본 값 은 final 이 아 닙 니 다. 23. 추상 적 인 방법 으로 추상 적 인 유형 이 될 수 있 습 니 다. abostact   그래서 추상 류 가 반드시 추상 적 인 방법 이 있어 야 하 는 것 이 아니다. 즉, 다음 과 같은 상황 이 나타 날 수 있다.   추상 류 에는 추상 적 인 방법 이 하나 도 없다.   24. 추상 류 는 실례 대상 이 될 수 없다. 25. 자 류 가 추상 류 를 계승 할 때 반드시 부 류 의 모든 추상 적 인 방법 을 실현 할 필요 가 없다. 만약 에 자 류 가 부 류 를 완전히 계승 하 는 모든 추상 적 인 방법 이 없다 면 이 자 류 는 추상 적 이다. 26. interface 에서        방법 은 기본적으로 Public abstract 입 니 다. 성명 을 표시 할 필요 가 없습니다.        데이터 구성원 은 기본적으로 Public final static 이 며, 성명 을 표시 할 필요 도 없습니다.        27. 추상 류 를 계승 하 는 것 과 마찬가지 로 implements 인 터 페 이 스 를 계승 할 때 도 인터페이스 에 있 는 모든 방법 을 실현 해 야 하 는 것 은 아니다. 이전 인터페이스의 모든 방법 을 실현 하지 않 으 면 abstract 라 고 밝 혀 야 한다. 28. 하위 류 가 하나의 종 류 를 계승 하고 여러 개의 인 터 페 이 스 를 실현 할 때의 문제:  
interface A{
	int I = 10;
	void f();
}

interface B{
	int I=2;
	int f(int i);
}

class C{
	public void fun(){	}
	
}

class D extends C implements A,B{
	int i = A.I;   //                    
	public int f(int i ){
		return i;
	}
}

 
상기 코드 를 분석 하면 우 리 는 다음 과 같은 결론 을 얻 을 수 있다.
 
1. 인터페이스 와 부모 클래스 에 같은 이름 의 변수 가 동시에 있다 면 하위 클래스 가 이 변 수 를 방문 할 때 클래스 이름, r 인터페이스 이름 을 접두사 로 해 야 합 니 다. 예 를 들 어 A. I, B. I............................................
 
2. 만약 에 하위 D 가 부모 로부터 계승 하 는 방법 이 특정한 인터페이스 에서 의 방법 을 실현 할 수 있다 면 이 방법 에 대해 재 작성 하지 않 아 도 실현 하 는 목적 을 달성 할 수 있다. 물론 재 작성 한 후에 실현 하 는 것 은 허용 된다.
 
3. 다음 두 가지 인터페이스의 동시 실현 불가 에 주의 하 세 요.
 
 
interface A{

     void f();
}
interface B{
   int f();
}

     방법 유형 만 다른 방법 으로 는 동시에 실현 할 수 없다.
 
 
다음:http://nileader.iteye.com/blog/581210

좋은 웹페이지 즐겨찾기