• 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]

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
481 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ź 204 wizyt
pytanie zadane 9 października 2016 w PHP przez tirith Mądrala (5,940 p.)
0 głosów
1 odpowiedź 981 wizyt
pytanie zadane 16 lutego 2017 w C i C++ przez admaj1212 Początkujący (320 p.)
+1 głos
1 odpowiedź 570 wizyt
pytanie zadane 25 września 2016 w C i C++ przez AlanP Nowicjusz (240 p.)

93,164 zapytań

142,176 odpowiedzi

321,932 komentarzy

62,491 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 688p. - dia-Chann
  2. 676p. - CC PL
  3. 675p. - Łukasz Piwowar
  4. 662p. - Łukasz Eckert
  5. 649p. - Michal Drewniak
  6. 641p. - rucin93
  7. 621p. - Dawid128
  8. 572p. - ssynowiec
  9. 457p. - Marcin Putra
  10. 432p. - rafalszastok
  11. 427p. - Adrian Wieprzkowicz
  12. 425p. - zmmz89
  13. 417p. - Mikbac
  14. 414p. - Piotr Aleksandrowicz
  15. 412p. - ksalekk
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...