Java 프로그래밍 아이디어 및 방법 요약
요약을 읽고 나면 나중에 기억하기가 더 쉬울 것 같아서 책이 너무 장황하다고 늘 느꼈어요. 게으르게 온라인에서 다른 사람의 요약을 찾아보고 싶었지만 좋은 것을 찾을 수 없었어요. 가능한 한 최선을 다해 요약해야 했습니다.
객체 입문
객체 입문
목차:
1.1 추상화 프로세스
1.2 각각 객체에는 인터페이스가 있습니다.
1.3 모든 객체는 서비스를 제공합니다.
1.4 숨겨진 구체적 구현
1.5 구체적인 구현 재사용
1.6 상속
1.7 다형성이 있는 교환 가능한 객체
1.8 단일 루트 상속 구조
1.9 컨테이너
1.10 객체 생성 및 수명 문제
1.11 예외 처리 : 오류 처리
1.12 동시 프로그래밍
1.13 Java와 인터넷
1.14 요약
이 장을 읽고 나면 마침내 Java에 능숙해진 것 같습니다. 하지만 이 장에서는 개발 개요를 포함하여 OOP의 기본 개념만 소개합니다. 방법 개체의 중요성을 이해합니다.
1.1 추상화 과정
다른 언어의 단점을 통해 객체지향 언어의 장점을 설명합니다.
어셈블리 언어는 기본 기계를 약간 추상화한 것이고, 명령형 언어(예: C, BASIC)는 어셈블리 언어를 추상화한 것이며, 어셈블리 언어는 컴퓨터 하드웨어를 직접 제어하며, 명령형 언어는 컴퓨터 구조를 기반으로 문제를 해결합니다. OOP 언어는 문제의 구조를 기반으로 문제를 해결하며 특정 유형의 문제에 국한되지 않습니다.
1.2 각 객체에는 인터페이스가 있습니다
인터페이스: 특정 객체에 대해 할 수 있는 요청을 결정합니다. 객체: 이름을 입력하세요
텍스트 설명을 보면 철학적인 문제가 제기되었습니다. , 다음 예는 이해하기 쉽습니다.
Light lt = new Light(); //对象lt.on;//接口向对象发出请求
1.3 각 객체는 서비스를 제공합니다
이점: 1. 소프트웨어의 응집력을 향상시키는 데 도움이 됩니다. 2. 각 객체는 작업을 잘 완료할 수 있지만 그렇지 않습니다. 그 이상은 하려고 하지 마세요.
이해: 가사 표시, 재생, 일시정지, 배경 표시(서비스)를 갖춘 음악 플레이어를 디자인하세요. 이때, 하나의 객체만 제공하지 마세요(더 많은 일을 하려고 하지 않습니다). 3개의 객체를 제공하고, 3개의 서비스를 완성하고, 3개의 객체가 3개의 서비스를 제공하여 음악 플레이어를 완성합니다(Cohesion).
1.4 숨겨진 특정 구현
Github에서 프레임워크를 다운로드하세요. 프레임워크는 메서드 호출만 제공하면 되고 나머지는 숨겨집니다. 내 통화에 영향을 주지 않습니다 .
액세스 권한: 공개 > 보호됨(패키지 + 기본 클래스) > 패키지 액세스 권한(키워드가 없는 경우 기본값) > 비공개
1.5 재사용 특정 구현
재사용은 다음을 의미합니다. 클래스 내에서 상속 또는 구성을 사용합니다.
상속----관계입니다 리치는 과일입니다
조합----관계가 있습니다 뱃속에 잠잘 방법이 있습니다
1.6 상속
상위 클래스에서 하위 클래스를 파생합니다. 하위 클래스는 상위 클래스의 데이터 속성과 동작을 흡수하고 새로운 기능을 확장할 수 있습니다.
1.7 다형성이 있는 교환 가능한 객체
class Shape{ draw(); erase(); move(); getColor(); setColor(); }
void doSomething(Shape shape){ shape.erase();//...shape.draw(); } Circle circle = new Circle(); //父类为ShapeTriangle triangle = new Triangle(); //父类为ShapeLine line = new Triangle(); //父类为ShapedoSomething(circle); doSomething(triangle); doSomething(line);
对doSomething的调用会自动地正确处理,而不管对象的确切类型(可互换对象)。
doSomething(Shape shape)的执行是指你是Shape类或者父类为Shape,而不是你是Circle类就执行这样,你是Triangle 类就执行那样。理解了可以去看设计模式之策略模式。
这里还涉及到向上转型,如下图:
1.8 单根继承结构
1、所有类都继承自单一的基类
public class JianCheng extends Object { }
public class JianCheng { public static void main(String[] args) { JianCheng jiancheng= new JianCheng(); System.out.println(JianCheng instanceof Object); } }
Object 2의 기본 상속에 대한 기본 상속을 설명하고 모든 객체에 특정 기능
Object이 있는지 확인합니다. 예: clone( ), equals(Object obj), toString() 및 기타 메소드.
3. 가비지 수집이 쉬워집니다
객체는 자신의 (객체) 유형 정보를 가지고 있으므로 객체 유형을 결정할 수 없어 교착 상태가 발생하지 않습니다. 이는 시스템 수준 작업(예: 예외 처리)에 중요합니다.
1.9 컨테이너
List(시퀀스 저장에 사용됨), Map(연관 배열이라고도 함)과 같은 컨테이너(컬렉션)라고 불리는 다른 객체에 대한 참조를 보유합니다. ), 세트(각 객체 유형 중 하나만 보유) 및 큐, 트리, 스택 등과 같은 추가 구성 요소.
ArrayList와 LinkedList를 비교하면 전자는 배열 형태로
요소에 무작위로 액세스하는 데는 비용이 거의 들지 않지만 삽입 및 삭제 작업에는 비용이 많이 듭니다. 후자는 연결 목록 형태이므로 삽입 및 삭제 작업을쉽게 만듭니다. 1.10 객체 생성 및 수명
스택에 배치된 객체와 힙에 배치된 객체의 차이점 이해
스택과 릴리스 간의 할당이 우선 순위를 고려 , 유연성이 희생됩니다
- 왜냐하면
개체의 정확한 수, 수명 및 유형을 알아야 하기 때문입니다. Heap - 메모리 풀에 객체를 동적으로 생성하며 객체의 수, 수명 주기 및 유형
은 런타임에만 알 수 있습니다. 동적관리는 힙에 저장공간을 할당하는데 많은 시간이 필요하지만 저장공간을 생성하고 저장공간을 해제하는 방식은 매우 편리하다. Java는 new 키워드를 사용하여 객체를 생성하는 동적 메모리 할당 방법을 채택합니다. 컴파일러는 객체의 생존 시간을 결정하고 자동으로 "가비지 수집기 메커니즘을 사용할 수 있습니다. "파괴해라.
1.11 예외 처리: 오류 처리
Exception은 오류 지점에서 발생하고 특정 유형의 오류 예외 처리기에 의해 포착되는 객체입니다. --잡거나 던집니다. 예외 처리는 오류가 발생할 때 실행되는 또 다른 경로와 유사하며 프로그램의 일반적인 실행 경로와 평행합니다. Java 코드가 올바른 예외 처리 코드를 작성하지 않으면 컴파일 시간 오류 메시지가 표시됩니다. 예: IOException, ClassCastException(클래스 변환 예외), NullPointerException(널 포인터 예외) 등
1.12 동시 프로그래밍
동기식 멀티스레드 작업, 리소스 공유에는 숨겨진 위험이 있습니다. A는 원래 a=Love You를 사용하고 싶었지만 특정 스레드에서 a=hate you가 발생하여 A가 사용했기 때문에 A의 고백은 확실히 실패합니다.
1.14 요약
첫 번째 장은 모두 이론적 지식이며 많은 지식 포인트는 분명히 매우 쉽지만 긴 논의로 인해 실용적인 정보가 있지만 혼합되어 있습니다. 보풀이 너무 많아.
위 내용은 Java 프로그래밍 아이디어 및 방법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Java의 난수 생성기 안내. 여기서는 예제를 통해 Java의 함수와 예제를 통해 두 가지 다른 생성기에 대해 설명합니다.

자바의 암스트롱 번호 안내 여기에서는 일부 코드와 함께 Java의 Armstrong 번호에 대한 소개를 논의합니다.

Java의 Weka 가이드. 여기에서는 소개, weka java 사용 방법, 플랫폼 유형 및 장점을 예제와 함께 설명합니다.

Java의 Smith Number 가이드. 여기서는 정의, Java에서 스미스 번호를 확인하는 방법에 대해 논의합니다. 코드 구현의 예.

이 기사에서는 가장 많이 묻는 Java Spring 면접 질문과 자세한 답변을 보관했습니다. 그래야 면접에 합격할 수 있습니다.

Java 8은 스트림 API를 소개하여 데이터 컬렉션을 처리하는 강력하고 표현적인 방법을 제공합니다. 그러나 스트림을 사용할 때 일반적인 질문은 다음과 같은 것입니다. 기존 루프는 조기 중단 또는 반환을 허용하지만 스트림의 Foreach 메소드는이 방법을 직접 지원하지 않습니다. 이 기사는 이유를 설명하고 스트림 처리 시스템에서 조기 종료를 구현하기위한 대체 방법을 탐색합니다. 추가 읽기 : Java Stream API 개선 스트림 foreach를 이해하십시오 Foreach 메소드는 스트림의 각 요소에서 하나의 작업을 수행하는 터미널 작동입니다. 디자인 의도입니다
