public class Demo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
public class Demo {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
class Person {
String name;
int yearBorn;
}
k.name = "Karel"; // set name to Karel
String karelsName = k.name; // get name value
Jednotlivé části (jméno, rok narození) nazýváme atributy. |
class Person {
String name;
int yearBorn;
int getAge() {
return 2017 - yearBorn;
}
void printNameWithAge() {
System.out.println("I am " + name + " and my age is " + getAge());
}
}
Třída představuje strukturu, která má atributy a metody.
definují stav objektu
public class Demo {
public static void main(String[] a) {
Person jan = new Person();
jan.name = "Jan";
jan.yearBorn = 2000;
System.out.println(jan.name);
System.out.println(jan.yearBorn);
}
}
Jak se ta konkrétní věc jmenuje?
Person jan
?Person jan = new Person();
// why not just:
Person jan;
Person jan;
) žádný objekt nevytvoří.new
.new
Slouží k "oživení" vytvořeného objektu bezprostředně po jeho vytvoření:
int
, se vytvoří a inicializují samy a konstruktor nepotřebují.new
vytvoří prázdný objekt typu Person a naplní jeho atributy výchozími (default) hodnotami.new
.Person jan = new Person();
Následující třída Account
modeluje jednoduchý bankovní účet.
balance
, který reprezentuje množství peněz na účtu.Pak má metody:
add
přidává na účet/odebírá z účtuwriteBalance
vypisuje zůstatektransferTo
převádí na jiný účetclass Account {
double balance; // 0.0
void add(double amount) {
balance += amount;
}
void writeBalance() {
System.out.println(balance);
}
void transferTo(Account whereTo, double amount) {
balance -= amount;
whereTo.add(amount); // whereTo is another account
}
}
transferTo
pracuje nejen se svým "mateřským" objektem,
ale i s objektem whereTo
předaným do metody.Příklad použití třídy Account
:
public static void main(String[] args) {
Account petrsAccount = new Account();
Account ivansAccount = new Account();
petrsAccount.add(100.0);
ivansAccount.add(20.0);
petrsAccount.transferTo(ivansAccount, 30.0);
petrsAccount.writeBalance(); // 70.0
ivansAccount.writeBalance(); // 50.0
}
println
vs. return
void writeString() {
System.out.println("Sample text"); // writes it
}
String returnString() {
return "Sample text"; // does not write it
}
/