• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Nie rozumiem tego kawałka kodu [Java]

Object Storage Arubacloud
0 głosów
452 wizyt
pytanie zadane 8 grudnia 2016 w Java przez Szymon Ciamaga Obywatel (1,980 p.)

WItam robię kurs na javastart.pl i w pewnym momencie kursy natrafiłem na taki kod nic szczególnego tu nie ma gettery i settery ale nie rozumiem pewnego kawałka kodu, który nie widzę by był wyjaśniony o co w nim chodzi

 

package data;

import app.Library;

/**
 * Created by szymonciamaga on 01/12/2016.
 */
public class Book {

    private String title;
    private String author;
    private int relaseDate;
    private int pages;
    private String publisher;
    private String isbn;


    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public int getRelaseDate() {
        return relaseDate;
    }

    public void setRelaseDate(int relaseDate) {
        this.relaseDate = relaseDate;
    }

    public int getPages() {
        return pages;
    }

    public void setPages(int pages) {
        this.pages = pages;
    }

    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    public Book(String title, String author, int relaseDate, int pages, String publisher, String isbn) {
        this.title = title;
        this.author = author;
        this.relaseDate = relaseDate;
        this.pages = pages;
        this.publisher = publisher;
        this.isbn = isbn;
    }

    public Book(Book book) {
        this(book.getTitle(), book.getAuthor(), book.getRelaseDate(), book.getPages(), book
                .getPublisher(), book.getIsbn());
    }

   public void printInfo() {
        String info = getTitle() + "; " + getAuthor() + "; " + getRelaseDate() + "; " + getPages()
                + "; " + getPublisher() + "; " + getIsbn();
        System.out.println(info);
    }
}

a Tu kawałek kodu którego nie rozumiem.

    public Book(Book book) {
        this(book.getTitle(), book.getAuthor(), book.getRelaseDate(), book.getPages(), book
                .getPublisher(), book.getIsbn());
    }

 

1 odpowiedź

+2 głosów
odpowiedź 8 grudnia 2016 przez ribeiro Stary wyjadacz (11,440 p.)
wybrane 8 grudnia 2016 przez Szymon Ciamaga
 
Najlepsza

Konstruktor dla klasy Book, który tworzy obiekt tej klasy kopiując dokładnie wartości składowych jakiegoś innego obiektu Book. 

Czyli wykorzystujesz go w momencie, gdy chcesz mieć dwie identyczne książki nie będące jedną książką. Jeśli zrobisz tak:

Book b1 = new Book();
Book b2 = b1;

To b1 i b2 będą tym samym obiektem. A dokładnie będą referencją na ten sam obiekt. Żeby zrobić dwie identyczne książki ale będące różnymi obiektami wykorzystasz to o co pytasz tak:

Book b1 = new Book();
Book b2 = new Book(b1);

 

komentarz 8 grudnia 2016 przez ribeiro Stary wyjadacz (11,440 p.)
Oczywiście w pierwszych linijkach trzeba by dodać jakieś wartości argumentów do konstruktora.
komentarz 8 grudnia 2016 przez Szymon Ciamaga Obywatel (1,980 p.)
Myślę że już wszystko rozumiem dziękuje ;)

Podobne pytania

0 głosów
1 odpowiedź 183 wizyt
pytanie zadane 9 października 2016 w PHP przez tirith Mądrala (5,940 p.)
0 głosów
1 odpowiedź 809 wizyt
pytanie zadane 16 lutego 2017 w C i C++ przez admaj1212 Początkujący (320 p.)
+1 głos
1 odpowiedź 443 wizyt
pytanie zadane 25 września 2016 w C i C++ przez AlanP Nowicjusz (240 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...