>  기사  >  Java  >  Java 객체란 무엇입니까? Java 객체 소개(코드 예제)

Java 객체란 무엇입니까? Java 객체 소개(코드 예제)

不言
不言앞으로
2018-10-11 15:33:222974검색

이 글의 내용은 Java 객체란 무엇인가에 관한 것입니다. Java 객체의 소개에는 특정 참고 가치가 있습니다. 도움이 필요한 친구가 도움이 되기를 바랍니다.

예:

public class Book {

    /**
     * 书名
     */
    private String name;
    /**
     * 作者
     */
    private String author;

    /**
     * 获取书名
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     * 设置书名
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取作者
     * @return
     */
    public String getAuthor() {
        return author;
    }

    /**
     * 设置作者
     * @param author
     */
    public void setAuthor(String author) {
        this.author = author;
    }

}

객체란 무엇입니까

"JAVA 프로그래밍 사고"는 객체를 다음과 같이 정의합니다. 문제 공간의 요소와 솔루션 공간의 해당 표현을 "객체"라고 합니다.
1. 문제 공간: 실제로 해결된 문제의 모델
2. 컴퓨터(기계 모델).
실제 문제를 컴퓨터(기계 모델)로 표현한 것을 객체라고 합니다. 위의 예에서 컴퓨터는 책을 나타내기 위해 고유한 엔터티(new Book())를 사용하며 이 엔터티는 객체라고 하며 해당 객체는 클래스의 인스턴스입니다.

클래스란 무엇입니까

동일한 속성과 동작을 가진 객체를 추상화한 것이 클래스입니다. 즉, 클래스는 객체의 청사진입니다. 둘 사이의 관계는 클래스의 인스턴스입니다. 객체이며 객체의 추상화는 클래스입니다. 위의 예에서 Book은 클래스입니다.

객체의 특성

1. 동작: 클래스 메서드, 예제의 메서드: getName(), setName(문자열 이름), getAuthor(), setAuthor(문자열 작성자).
2. 상태: 클래스의 속성, 예제의 속성: 이름, 작성자,
3. ID: 메모리에 있는 클래스의 주소, 메모리에 있는 new Book()의 주소가 식별입니다.

객체 지향 기능

1. 캡슐화: 객체의 속성을 숨기지만 사용자가 이러한 속성과 상호 작용할 수 있는 메소드를 제공합니다. 핵심은 사용자가 메소드를 통해서만 객체의 속성에 액세스할 수 있다는 것입니다. 캡슐화 구현, 비공개 속성: name, 하나의 속성 액세스 방법: getName(), 하나의 속성 변경 방법: setName(문자열 이름).

2. 상속: 기존 클래스를 상속하여 이 클래스의 속성과 메서드를 재사용할 수 있습니다. 상속된 클래스를 상위 클래스라고 하며 하위 클래스는 특정 코드를 사용하여 자체 코드를 만들 수 있습니다. 함수. 상위 클래스 클래스는 일반적으로 공통 메서드와 속성을 저장합니다. 상속은 확장 키워드를 통해 이루어집니다.

상속 예:

// 备注:class可以定义多个类,但只有一个public类,而且public修饰的类名称要和文件名称一致。
public class BookTest{
    public static void main(String[] args) {
        System.out.println(new HistoryBook().getName());
    }
}
class HistoryBook extends Book{
    /**
     * 发生日期
     */
    private LocalDate happenDate;
    protected LocalDate getHappenDate() {
        return happenDate;
    }
    public void setHappenDate(LocalDate happenDate) {
        this.happenDate = happenDate;
    }
}

위의 HistoryBook은 Book의 하위 클래스입니다. 기본 메서드에서는 HistoryBook 개체를 통해 책 제목을 직접 가져올 수 있습니다. 이는 HistoryBook 클래스에 포함되지 않은 속성입니다. 상속을 통해 public, protected 및 default로 수정된 상위 클래스의 모든 함수를 호출할 수 있습니다.

3. 다형성: 변수 참조가 여러 실제 유형을 가리킬 수 있는 현상을 다형성이라고 합니다. 다형성의 형성은 상속(확장)/구현(구현)을 기반으로 합니다. 중요한 점은 상위 클래스 참조는 하위 클래스 변수를 가리키지만 상위 클래스 참조는 하위 클래스 변수에 할당될 수 없다는 것입니다.

다형성 예:

        // 父类引用指向子类,形成多态
        Book book = new HistoryBook();
        // 报错,原因:不能把父类引用赋值给子类,因为不能确定父类的具体类型,父类可能是A extends Book,也可能是B extends Book,不能把A或B强制转成HistoryBook,因为它们两之间是没有任何联系的。
        HistoryBook historyBook = (HistoryBook) new Book();
        // 这里是正常运行的,因为book其实指向的是一个HistoryBook的对象,这里是可以强制转换的。
        HistoryBook hb = (HistoryBook) book;

위 내용은 Java 객체란 무엇입니까? Java 객체 소개(코드 예제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제