다크호스 프로그래머 - 자바 기초 - 대상 지향 (편 1)
9055 단어 자바 기반
제 1 장
1. 대상 지향 2. 멤버 변수 3. 익명 의 대상 4. 포장 5. 구조 함수 6, 키워드 this
제2 장
1. 키워드 static 2. 지식 총화 3. 초기 화 과정 4. 초기 디자인 모델
제3 장
1. 상속 2. 명언 계승 3. 다른 관계 4. 덮어 쓰기 5. this 구문 6. 키워드 final 7. 추상
8. 포장 과 계승 을 정리한다. 9. 추상 적 인용 10. 인터페이스
코드 부록
1. 주 함수 에 전달 2. 초기 화 과정 3. 단일 디자인 4. 인터페이스 와 계승 의 활용 5. 모델 디자인
제 1 장
1. 대상 을 대상 으로 대상 을 대상 으로 하 는 것 은 일종 의 사상 이다. 생활 의 모든 측면 에 나타 나 고 집행 자 를 지휘자 로 만 들 며 복잡 한 문 제 를 단순화 시 킬 수 있 으 며 구체 적 인 과정 에 관심 을 가지 지 않 아 도 된다.세 가지 특징: 포장, 계승, 다 형.뒤에 자세히 서술 하 다.
2. 구성원 변 수 는 전역 적 이 고 메모리 에 존재 하 며 대상 에 따라 생 성 됩 니 다.
3. 익명 의 대상 인용 이 없 기 때문에 두 번 째 를 만 들 때 첫 번 째 는 쓰레기 로 회수 되 기 때문에 속성 을 호출 하 는 것 은 재 미 없 습 니 다. 。
호출 방법 에 만 사용 되 며 한 번 만 호출 할 수 있 습 니 다. 무릇 간략하게 쓴 것 은 모두 결함 이 있다. 익명 대상 은 매개 변 수 를 전달 할 수 있 습 니 다.
인용 유형 은 네 가지 가 있 습 니 다. 강, 약, 부 드 러 움,?4. 포장 대상 의 속성 과 세부 사항 을 숨 기 고 대외 적 으로 공공 접근 방식 을 제공 합 니 다. 함 수 는 가장 작은 패키지 이 고 클래스 도 패키지 입 니 다. 장점: 변 화 를 격 리 하고 사용 이 편리 하 며 코드 의 복용 성 을 높이 고 안전성 을 높 인 다.5. 구조 함수 한 가지 사물 을 분석 할 때 그 가 가지 고 있 는 특징 을 묘사 하고 구조 함 수 를 사용한다. 구조 코드 블록: 구조 함수 보다 먼저 실행 되 며 모든 대상 을 초기 화 하 는 데 사 용 됩 니 다.6、this 현재 대상 을 대표 하 는 인용.
this 구문: (1) 구조 함수 간 에 만 사용 할 수 있다. (2) 구조 함수 의 첫 번 째 문장 에 써 야 합 니 다. 초기 화 는 먼저 실행 되 고 한 번 만 실 행 됩 니 다. (3) this 문장의 this 는 현재 대상 의 인용 을 대표 합 니 다.
제2 장
1. 키워드 static
static 에 의 해 수 식 된 구성원 (구성원 변수 와 구성원 함수) 은 모든 대상 을 공유 할 수 있 습 니 다.호출 방식 이 하나 더 생 겼 다.방법 구역 / 공유 구역 / 데이터 구역 에 존재 합 니 다.A. 특징: (1) 세 류 를 불 러 와 불 러 옵 니 다. 수명 주기 가 길 다 는 뜻 입 니 다. (2) 모든 대상 에 게 공용 (3) 대상 보다 먼저 존재 합 니 다. (4) 클래스 이름 으로 직접 호출 됩 니 다.
B. 대상 특유: 구성원 변수 - 인 스 턴 스 변수 대상 공유: 정적 구성원 변수 - 클래스 변수
이익: (1) 공유 메모리 절약; (2) 유형 명 으로 접근 할 수 있다.
폐단: (1) 생명주기 가 너무 길다. (2) 접근 에 한계 가 있다 (정적 에 만 접근 할 수 있다).C. 정적 은 언제 사용 합 니까?(1) 데 이 터 를 공유 할 때 정적 인 구성원 변 수 를 정의 합 니 다 (2) 사용 하지 않 았 습 니 다. 대상 특유 데이터 시 정적 방법 정의
D. Aarray Tool 컴 파일 도구 류 의 컴 파일 을 정리 합 니 다. 함수 가 정적 화 된 내부 함수 의 사유 화 입 니 다. 구조 함수 가 없 는 사유 화 를 드 러 낼 필요 가 없습니다. 엄밀 하고 유사 한 이름 으로 만 호출 될 수 있 습 니 다.
2. 지식 총화
클래스 는 언제 불 러 옵 니까?:클래스 의 내용 을 사용 할 때 만 불 러 옵 니 다.
정적 코드 블록 이란 무엇 입 니까?:정적 코드 블록 이 클래스 로 딩 할 때 실 행 됩 니 다. 클래스 초기 화 에 사용 합 니 다. 실행 순 서 는 클래스 로 딩 시 정적 코드 블록 을 실행 하고 클래스 로 딩 후 main 함 수 를 호출 합 니 다.
정적 코드 블록 과 구조 코드 블록 의 차이 점 은?:정적 코드 블록 클래스 초기 화 에 사용 되 며, 구조 코드 블록 은 모든 대상 을 초기 화 하 는 데 사 용 됩 니 다.
3. 초기 화 과정
. Person p = new Person ("zz", 23), 이 말 은 무엇 을 했 습 니까?(1) 로 딩 클래스;(2) 정적 코드 블록 을 실행 하여 클래스 를 초기 화 합 니 다.(3) 메모 리 를 쌓 고 공간 을 분배 하 며 대상 특유 의 속성 을 불 러 오고 기본적으로 초기 화 합 니 다.(4) 초기 화 보이 기;(5) 구조 코드 블록 초기 화 실행;(6) 구조 함수 초기 화;(7) 메모 리 를 쌓 고 대상 주 소 를 생 성 합 니 다.(8) 스 택 메모리 에 변수 p 를 만 들 고 주 소 를 부여 합 니 다.
4. 디자인 모델 을 처음 보 는 것 은 디자인 모델 이란 특정한 문 제 를 해결 하 는 효과 적 인 방법 이다.자바 에는 23 가지 유 니 버 설 디자인 모델 이 있 습 니 다.
단일 디자인 모드
모든 종류의 호출 을 위 한 대상 만 만 만 듭 니 다.굶 주 린 사람 모델: 대상 을 직접 만 들 고 안전 하 며 개발 에 있어 게으름뱅이 모델 을 자주 사용 합 니 다. 방법 을 호출 할 때 대상 을 만 들 고 위험 이 있 습 니 다. 해결 방안 은 동기 화 자 물 쇠 를 추가 하고 두 번 판단 합 니 다.
제3 장
1. 상속
extends 키 워드 를 통 해 클래스 와 클래스 간 에 혈연 관 계 를 가지 게 하고 끊임없이 발전 하여 큰 체 계 를 형성한다.역할: a. 코드 재 활용 성 b. 클래스 와 클래스 간 의 관 계 를 설명 합 니 다.
관계: 만물 은 대상 이 고 자 바 는 대상 을 대상 으로 하 며 사물 은 보편적으로 연결 되 어 있 습 니 다. 계승 은 이 보편적 인 관계 중의 하나 이 므 로 잘 사용 하 세 요!기능, 약자 코드 를 사용 하기 위해 계승 할 수 없습니다!계승 은 사물 자체 가 가지 고 있 는 관계 이 며, 타고 난 것 이다.2, 명언 계승 * 부모 클래스 기능 을 찾 아 보고 하위 클래스 대상 을 만 듭 니 다.
*계승 하기 때문에 다 태.
3, 기타 관계 집합: has a 집합: become 조합: one part of
4. 덮어 쓰기 의미: 부모 클래스 를 바 꾸 는 방법 전제: 하위 클래스 함수 권한 은 부모 클래스 함수 권한 덮어 쓰기 와 다시 불 러 오 는 차이 보다 큽 니 다.
다시 불 러 오기 와 다시 쓰기 함수 의 특성 다시 불 러 오기: 같은 클래스 에서 같은 이름 함수 의 매개 변수 목록 이 다 릅 니 다. 다시 쓰기: 하위 클래스 에서 같은 이름 함수 가 똑 같 습 니 다.
5. this 구문 this () 또는 슈퍼 () 는 모두 대응 하 는 구조 함 수 를 호출 하 는데 실질 적 으로 그들 이 가리 키 는 것 은 현재 대상 의 응용 이다.
초기 화 > > > 실례 화 초기 화 와 실례 화 는 어떤 관계 입 니까?
하위 클래스 의 초기 화 과정: 부모 클래스 의 빈 구조 함수 가 존재 할 때 모든 구조 함수 에 은신 슈퍼 () 문 구 를 가지 고 있 습 니 다.부모 클래스 의 빈 구조 함수 가 존재 하지 않 을 때 인삼 이 있 는 슈퍼 (..) 문 구 를 수 동 으로 지정 해 야 합 니 다.하위 클래스 에 최소한 하나의 구조 함수 가 부모 클래스 의 구조 함수 에 접근 합 니 다.물론 this () 문 구 를 지정 할 수도 있다.
6. final 수식 류, 이 종 류 는 계승 할 수 없습니다.수식 함수, 함 수 는 복사 할 수 없습니다.변 수 를 수식 하고 변 수 는 정 해진 값 입 니 다.상수 XXXX=YYY; 지금까지 class 를 수식 한 것 은: Public 입 니 다. final
추상
추상, 즉 이해 할 수 없 기 때문에 추상 적 인 방법 이 추상 류 에 존재 하 는 지 확실 하지 않다. 추상 류 는 예화 할 수 없고 자 류 가 모든 추상 적 인 방법 을 계승 하고 복사 해 야 한다. 일부 추상 적 인 방법 을 복사 하 는 자 류 는 추상 류 이다.이런 상황 은 존재 할 필요 가 없 을 것 같은 데?추상 류 특징: a. 일반 류 보다 추상 함수 b. 특수 상황 을 예화 할 수 없다. > > 추상 류 는 추상 적 인 방법 이 없다.
요약: 추상 류 는 추상 적 인 방법 이 있 든 없 든 모두 좋 지만 추상 적 인 방법 은 반드시 추상 류 에 두 어야 한다.
그럼 추상 적 인 방법 은 언제 사용 합 니까?:기능 주체 가 불확실 할 때
8. 패 키 징 과 계승 에 대한 정리 패 키 징: 속성 을 숨 기 고 디 테 일 을 실현 합 니 다. 사용 은 복잡 함 에서 간단 해 지고 권한 관리 계승 을 실현 합 니 다. 하나의 동작 입 니 다. 이 를 통 해 하나의 동작 을 만 듭 니 다. 타고 난 관계.
9. 추상 적 인 인용 추상 류 의 인용 은 현재 보면 세 가지 방식 이 있다. a. 모두 추상 적 인 방법 b. 부분 은 추상 적 인 방법 c. 추상 적 인 방법 모델 디자인 사상 이 없다. 기능 에 불확실 한 내용 이 있 으 면 노출 시 켜 하위 클래스 가 완성 하도록 한다.추상 류 는 자 류 를 통 해 실례 화 되 어야 한다.
10, 인터페이스
초기 이해: 추상 류 중의 방법 이 모두 추상 적 인 방법 일 때 이런 유형 은 인터페이스 인터페이스 에 있 는 구성원 들 이 고정된 수정자 가 있 고 구성원: 상수 와 추상 적 인 방법, 구성원 들 은 모두 Public 이다.
인터페이스 간 다 중 계승 가능 특징: a. 인 터 페 이 스 는 대외 노출 의 규칙 b. 인 터 페 이 스 는 프로그램 기능 의 확장 c. 인 터 페 이 스 는 다 중 실현 d. 결합 성 을 낮 출 수 있다.
클래스 정의 기본 기능, 인터페이스 정의 확장 기능 (시스템 외)
코드 부록
1, 주 함수 에 전달
/*
public static void main(String[] args)
: 。 , jvm 。
:
public: 。
static: 。
void: 。
main: , , jvm 。
(String[] arr): , , 。 。
:jvm 。
jvm , new String[0];
*/
class MainDemo
{
public static void main(String[] args)//new String[]
{
String[] arr = {"hah","hhe","heihei","xixi","hiahia"};
MainTest.main(arr);
}
}
//String[] args = new String[3];
//String[] args = null;
class MainTest
{
public static void main(String[] args)
{
for(int x=0; x
2, 초기 화 과정
class Person
{
private Person(){}
private String name = "hah";
private int age;
private static String country = "cn";
Person(String name,int age)
{
this.name = name;
this.age = age;
}
{
System.out.println(name+".."+age);
}
public void setName(String name)
{
this.name = name;
}
public void speak()
{
System.out.println(this.name+"..."+this.age);
}
public static void showCountry()
{
System.out.println("country="+Person.country);
Person.method();
}
public static void method()
{
System.out.println("method run");
}
}
class PersonDemo
{
public static void main(String[] args)
{
Person p = new Person("zhangsan",20);
p.setName("lisi");
new Person();
}
}
/*
Person p = new Person("zhangsan",20);
?
1, new Person.class. Person.class 。
2, static , , Person.class 。
3, , 。
4, 。 。
5, 。
6, 。
7, 。
8, p 。
*/
3, 단일 디자인
class Single
{
/*
*/
private Single(){}
private static Single s = new Single();
public static Single getInstance()
{
return s;
}
}
4. 인터페이스 와 계승 활용
interface Inter
{
public static final int NUM = 3;
public abstract void show();
}
interface InterA
{
public abstract void show();
}
class Demo
{
public void function(){}
}
class Test extends Demo implements Inter,InterA
{
public void show(){}
}
interface A
{
void methodA();
}
interface B //extends A
{
void methodB();
}
interface C extends B,A
{
void methodC();
}
class D implements C
{
public void methodA(){}
public void methodC(){}
public void methodB(){}
}
5. 모델 디자인: 추상 적 인 관련 디자인 모델 이 있다.
/*
: 。
: 。
:System.currentTimeMillis();
, 。
, 。
?
, , , ,
。 。
*/
abstract class GetTime
{
public final void getTime()
{
long start = System.currentTimeMillis();
runcode();
long end = System.currentTimeMillis();
System.out.println(" :"+(end-start));
}
public abstract void runcode();
}
class SubTime extends GetTime
{
public void runcode()
{
for(int x=0; x<4000; x++)
{
System.out.print(x);
}
}
}
class TemplateDemo
{
public static void main(String[] args)
{
//GetTime gt = new GetTime();
SubTime gt = new SubTime();
gt.getTime();
}
}
틀린 곳 을 지적 하여 바로잡아 주 십시오!
------ 자바 교육, 안 드 로 이 드 교육, iOS 교육,. Net 교육, 당신 과 의 교 류 를 기대 합 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
범용 용법 예시앞으로 51CTO 에 정착 해 기술 개발 에 전념 할 테 니 잘 부탁드립니다.다음 코드 는 자신 이 (저자: 이 흥 화) 를 공부 할 때 두 드 린 코드 로 주석 이 완비 되 어 있다. 범용 클래스 Point. ja...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.