Skip to content

Commit 13c16cc

Browse files
committed
instanceof checks for implemented Interface
1 parent fffa693 commit 13c16cc

4 files changed

Lines changed: 19 additions & 1 deletion

File tree

‎QUESTIONS.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -268,3 +268,6 @@
268268
Programmer programmer3 = new Programmer(p1);
269269
System.out.println("explicit person to programmer: " + programmer3);
270270
```
271+
272+
21. read interfaces vs abstract classes again.
273+
https://docs.oracle.com/javase/tutorial/java/IandI/abstract.html

‎src/main/Hipster.java‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package main;
2+
3+
public interface Hipster {
4+
Integer hipsterHandshake();
5+
}

‎src/main/Main.java‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ public static void main(String[] args) {
4545
Programmer programmer3 = new Programmer(p1);
4646
System.out.println("explicit person to programmer: " + programmer3);
4747

48+
System.out.println("programmer is hipster: " + (programmer1 instanceof Hipster));
49+
System.out.println("programmer is a programmer: " + (programmer1 instanceof Programmer));
50+
4851
Person[] persons = new Person[2];
4952
persons[0] = p1;
5053

‎src/main/Programmer.java‎

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package main;
22

3-
public class Programmer extends Person {
3+
public class Programmer
4+
extends Person
5+
implements Hipster {
46
private Integer githubID;
57

68
public Programmer(String name, Integer githubID) {
@@ -19,4 +21,9 @@ public String toString() {
1921
", githubID=" + githubID +
2022
'}';
2123
}
24+
25+
@Override
26+
public Integer hipsterHandshake() {
27+
return 42;
28+
}
2229
}

0 commit comments

Comments
 (0)