| Class | Cat |
| Attribute / Field | name, age, weight |
| Method | meow(3), sleep(), eat() |
| Constructor (just a special method) | Create a new cat objects (e.g. Luna) |
| Object / Instance | Luna (created by constructor) |
| Class | Dog |
| Attribute / Field | name, age, weight |
| Method | bark(2), sleep(), eat() |
| Constructor (just a special method) | Create new dog objects (e.g. Charlie) |
| Object / Instance | Charlie (created by constructor) |
Methods
From: Space Invaders
Class
"final" Attributes/Fields
Constructor
1
5
4
2
3
Attributes/Fields
Tank myTank;myTank = new Tank(400);Tank object
direction 1
x 400
myTank
myTank
This does not create an object/instance yet, but only a (potential) reference to a tank
We first need to create an object
myTank.faceLeft();myTank
Tank object
direction -1
x 400
myTank.move();myTank
Tank object
direction -1
x 399
Person
object
Person p = new Person();p
int count = 4;count 4
1
2
3
4
0
...
Which of the following are valid Java code segments?
int y = 3;A a;
a = new A();B b = make B();int x = 3;
x.add(1);Q1
public class Person {
private String name;
public Person () {
this.name = "Unnamed Person";
}
public void setName(String name) {
this.name = name;
System.out.println("Now my name is " +
this.name);
}
public String getName() {
return name;
}
}
public class Main {
public static void main(String[] args) {
Person harry = new Person();
Person hermione = new Person();
harry.setName("Harry");
hermione.setName("Hermione");
ArrayList<Person> people =
new ArrayList<>();
people.add(harry);
people.add(harry);
people.add(hermione);
Person someone = people.get(1);
someone.setName("Ron");
}
}Q2
Hypothesis driven debugging: making careful educated guesses, with plans for how to validate or invalidate them.
Branch: main
Branch: myfavoriteanimal
Create
Branch
Merge
Branch
Commits