자바 클래스 와 대상 에 대한 상세 한 소개

9730 단어 자바종류대상
프로 세 스 및 대상 지향
  • C 언어 는 과정 을 대상 으로 하고 과정 을 주목 하 며 문 제 를 해결 하 는 절 차 를 분석 하고 함수 호출 을 통 해 문 제 를 점차적으로 해결한다.
  • JAVA 는 대상 을 대상 으로 하 는 것 이 고 대상 을 주목 하 며 한 가지 일 을 서로 다른 대상 으로 나 누 어 대상 간 의 상호작용 으로 완성 한다.
  • 과정 을 대상 으로 하 는 것 은 과정 이 고 전체 과정 에서 관련 된 행 위 는 바로 기능 이다.
  • 대상 을 대상 으로 하 는 것 은 대상,즉 참여 과정 과 관련 된 주체 이다.논리 적 으로 하나의 기능 을 연결 하 는 것 이다.
  • [대상 지향 개념]
  • 대상 을 대상 으로 하 는 것 은 문 제 를 사고 하 는 사고방식 이 고 사상 이다.예 를 들 어 개념 과 실례.이론 과 실천.이름과 실 등등.
  • 류 는 하나의 대상 의 통칭 이다.대상 은 바로 이러한 구체 화 된 사례
  • 이다.
  • 대상 을 대상 으로 하 는 장점:복잡 한 일 을 간단하게 하고 한 대상 만 마주 하면 된다.
  • [대상 지향 디자인]
    대상 을 대상 으로 디자인 하여 중요 한 경험 을 파악 한다.누가 데 이 터 를 가지 고 있 는 지,누가 대외 적 으로 이런 데 이 터 를 조작 하 는 방법(개인)을 제공 하 는 지!(수 동적 인 쪽 은 데이터 의 소유자 이 고 주동 적 인 쪽 은 집행자 이다)
    개발 시:대상 을 찾 고 대상 을 만 들 고 대상 을 사용 하 며 대상 간 의 관 계 를 유지 합 니 다.
    요약:대상 을 대상 으로 하 는 것 은 코드(클래스)로 객관 세계 의 사물 을 묘사 하 는 방식 이다.한 가지 유형 은 주로 한 사물 의 속성 과 행 위 를 포함한다.
    클래스 와 클래스 의 예화
    클래스 는 하나의 대상 의 통칭 이다.대상 은 바로 이러한 구체 화 된 실례 이다
    하나의 종 류 는 무수 한 대상 을 실례 화 할 수 있다.
    다음 에 우 리 는 하나의 예 를 통 해 클래스 와 클래스 의 실례 화 를 이해한다.
    
    class Person {
     public int age;//               
     public String name;
     public static String sex; //          
     public void eat() {//    
     System.out.println("  !");
     }
     public void sleep() {
     System.out.println("  !");
     }
     public static void func(){
     	System.out.println("      ");
     }
    }
    public class Main{
     public static void main(String[] args) {
     Person person = new Person();//  new     
     person.eat();//                 
     person.sleep();
    //          
     Person person2 = new Person();
     Person person3 = new Person();
    
    		//            
    		System.out.println(Person.sex);
    		Person.func();
     }
    }
    
    구성원 변수:
    클래스 의 내부,방법의 외부 에 정의
    대상 참조 로 접근
    초기 화 되 지 않 았 다 면 기본 값(기본 0 값)입 니 다.
  • 참조 형식 이 라면 값 은 null(배열,String 문자열 등 포함)
  • 입 니 다.
  • 간단 한 유형 이 라면 값 은 이러한 유형 에 대응 하 는 기본 값
  • 입 니 다.
    byte
    short
    int
    long
    float
    double
    char
    boolean
    0
    0
    0
    0L
    0.0f
    0.0
    16 진법
    false
    행동/방법:
    [eat()sleep()]인 스 턴 스 멤버 방법
    func()정적 구성원 방법
    정적 인 구성원 변수 와 구성원 방법 에 대해 어떻게 접근 해 야 합 니까?

    여기 서 볼 수 있 습 니 다.정적 인 것 에 대해 서 는 예화 대상 이 필요 없습니다!!!
    직접 호출
    클래스 이름.정적 구성원 변수/정적 구성원 방법
    요약 static:
  • 정적 인 구성원 속성 이나 정적 인 구성원 방법 은 대상 에 의존 하지 않 습 니 다.
  • 정적 인 구성원 변 수 는 하나 로 방법 구역 에 저 장 됩 니 다.
  • 정적 인 방법 내 부 는 비 정적 인 데 이 터 를 방문 할 수 없습니다.
  • 실례 화 류 의 저장 구조

    구성원 변 수 를 초기 화 하 는 방식
    1.현지에서 초기 화(클래스 내 공격 초기 화)

    2.기본 초기 화

    3.클래스 외 초기 화(많이 사용)
    
    public class Main{
     public static void main(String[] args) {
     Person person1 = new Person();
     person1.name = "  ";
     person1.age = 20;
    
     Person person2 = new Person();
     person2.name = "  ";
     person2.age = 40;
     }
    }
    
    포장 하 다
    우리 가 코드 를 쓸 때 항상 두 가지 역할 과 관련된다.클래스 의 실현 자 와 클래스 의 호출 자 이다.패키지 의 본질은 클래스 의 호출 자가 클래스 의 실현 자가 어떻게 클래스 를 실현 하 는 지 너무 많이 이해 하지 않 고 클래스 를 어떻게 사용 하 는 지 알 기만 하면 된다.
    이렇게 하면 사용자 의 학습 과 사용 원 가 를 낮 추고 복잡 도 를 낮 출 수 있다.
    private/public 두 키 워드 는"접근 권한 제어"를 표시 합 니 다.
  • Public 에 의 해 수 정 된 구성원 변수 나 구성원 방법 은 클래스 의 호출 자 에 게 직접 사용 할 수 있 습 니 다.
  • private 에 의 해 수 정 된 구성원 변수 나 구성원 방법 은 같은 호출 자 에 게
  • 을 사용 할 수 없습니다.
    예 를 들다
    
    class Person {
     private String name = "  ";
     private int age = 18;
     public void show() {
      System.out.println("  " + name + ",   " + age + " ");
     }
    }
    class Test {
     public static void main(String[] args) {
      Person person = new Person();
      person.show();
     }
    }
    
  • 이때 필드 는 private 를 사용 하여 수식 되 었 습 니 다.클래스 의 호출 자(main 방법 중)는 직접 사용 할 수 없습니다.show 방법 을 빌려 야 합 니 다.이때 클래스 의 사용 자 는 Person 류 의 실현 디 테 일 을 알 필요 가 없습니다.
  • 과 함께 클래스 의 실현 자가 필드 의 이름 을 수정 하면 클래스 의 호출 자 는 수정 할 필요 가 없습니다(클래스 의 호출 자 는 name,age 와 같은 필드 에 접근 할 수 없습니다)
  • getter 와 setter 방법
    getter:속성 값 을 얻 는 방법
    setter:속성 값 을 수정 하 는 방법
    우 리 는 이 두 가지 방법 으로 클래스 의 속성 을 밀봉 하여 속성 에 접근 하 는 목적 을 달성 합 니 다.
    
    class Person {
     private String name;//      
     private int age;
     public void setName(String name){
    //name = name;//     
      this.name = name;//this  ,          
     }
     public String getName(){
      return name;
     }
     public void show(){
      System.out.println("name: "+name+" age: "+age);
     }
    }
    class Main {
     public static void main(String[] args) {
      Person person = new Person();
      person.setName("caocao");
      String name = person.getName();
      System.out.println(name);
      person.show();
     }
    }
    
    this 키워드
    저희 가 아까 코드 에서 setter 방법 을 볼 수 있어 요.
    
    private String name;
    public void setName(String name){
    		//name = name;//     
      this.name = name;//this  ,          
    }
    
    this 는 현재 대상 의 인용 을 나타 내 며,this 를 통 해 대상 의 필드 와 방법 을 방문 할 수 있 습 니 다.

    세 가지 용법:
  • this.속성;/현재 대상 의 속성
  • 방문
  • this.방법;/현재 대상 을 호출 하 는 방법
  • this(); //현재 대상 의 구조 방법 을 호출 합 니 다(ps:첫 번 째 줄 에 두 어야 하고 하나의 구조 방법 내부 만 존재 합 니 다)
  • 구조 방법
    구조 방법 은 키워드 new 를 사용 하여 새로운 대상 을 예화 할 때 자동 으로 호출 되 어 초기 화 작업 을 완성 하 는 특수 한 방법 입 니 다.
    대상 을 실례 화하 다.
    Student stu = new Student() ;//대상 을 예화 하 다.
    두 걸음
  • 을 대상 으로 메모리 할당
  • 적당 한 구조 방법 을 호출 하 는 것 은 구조 방법 이 하나 가 아니 라
  • 이 더 많 을 수 있다 는 것 을 의미한다.
    문법 규칙
  • 방법 명칭 은 클래스 명칭 과 같 아야 합 니 다
  • 구조 방법 반환 값 유형 성명
  • 각 유형 에 적어도 하나의 구조 방법 이 존재 한다(명확 한 정의 가 없 으 면 시스템 은 자동 으로 하나의 무 참 구 조 를 생 성 한다)
  • 
    class Person {
     private String name;//      
     private int age;
     private String sex;
     //           
     public Person() {
      this.name = "caocao";
      this.age = 10;
      this.sex = " ";
     }
     //  3        
     public Person(String name,int age,String sex) {
      this.name = name;
      this.age = age;
      this.sex = sex;
     }
     public void show(){
      System.out.println("name: "+name+" age: "+age+" sex: "+sex);
     }
    }
    public class Main{
     public static void main(String[] args) {
      Person p1 = new Person();//                                
      p1.show();
      Person p2 = new Person("zhangfei",80," ");//    3        
      p2.show();
     }
    }
    
    toString 방법
    
      Person person = new Person("caocao",19);
      System.out.println(person);
    
    인용 을 인쇄 하면 toString 방법 을 기본적으로 호출 하여 다음 결 과 를 실행 합 니 다.

    원 하 는 결 과 를 인쇄 하기 위해 toString 방법 을 다시 쓸 수 있 습 니 다.
    예 를 들 면:
    
    class Person {
     private String name;
     private int age;
     public Person(String name,int age) {
      this.age = age;
      this.name = name;
     }
     public void show() {
      System.out.println("name:"+name+" " + "age:"+age);
     }
     //  Object toString  
     @Override
     public String toString() {
      return "Person{" +
        "name='" + name + '\'' +
        ", age=" + age +
        '}';
     }
    }
    
    public class Main {
     public static void main(String[] args) {
      Person person = new Person("caocao",19);
      person.show();
      System.out.println(person);
     }
    }
    

    이렇게 인쇄 인용 화 를 하면 원 하 는 내용 에 따라 출력 됩 니 다.
    익명 개체
    익명 은 이름 이 없 는 대상 일 뿐이다.
  • 인용 되 지 않 은 대상 을 익명 의 대상 이 라 고 합 니 다.
  • 익명 대상 은 대상 을 만 들 때 만 사용 할 수 있 습 니 다.
  • 만약 에 한 대상 이 한 번 만 사용 하고 뒤에 사용 할 필요 가 없다 면 익명 대상
  • 을 사용 하 는 것 을 고려 할 수 있다.
    
    new Person("caocao",19).show();//          
    
    특징:대상 에 의존 하지 않 고 클래스 이름 만 통 해 속성 이나 방법 을 호출 할 수 있 습 니 다.
    부호 블록
  • 로 컬 코드 블록
  • 정적 코드 블록
  • 인 스 턴 스 코드 블록/구조 코드 블록
  • 동기 코드 블록(다 중 스 레 드)
  • 로 컬 코드 블록:방법 에 있 는 코드 블록
    
    public class Main{
     public static void main(String[] args) {
      { //    {}  ,     
       int x = 10 ;
       System.out.println("x1 = " +x);
      }
      int x = 100 ;
      System.out.println("x2 = " +x);
     }
    }
    
    정적 코드 블록:정적 구성원 속성 을 초기 화 하 는 데 사 용 됩 니 다.
    
    //     
    static {
    count = 10;//          
    System.out.println("I am static init()!");
    }
    
    인 스 턴 스 코드 블록:클래스 에 있 는 코드 블록 을 정의 합 니 다.구조 코드 블록 은 인 스 턴 스 구성원 변 수 를 초기 화 하 는 데 사 용 됩 니 다.
    
    //     
    {
    this.name = "bit";
    this.age = 12;
    this.sex = "man";
    System.out.println("I am instance init()!");
    }
    
    실행 순서
    정적 코드 블록 인 스 턴 스 코드 블록 구조 방법
    총결산
    자바 의 클래스 와 대상 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 자바 류 와 대상 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

    좋은 웹페이지 즐겨찾기