- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathJavaPracticeQuestionsonAbstractClassesAndnterfaces.java
More file actions
Latest commit
70 lines (58 loc) · 1.39 KB
/
Copy pathJavaPracticeQuestionsonAbstractClassesAndnterfaces.java
File metadata and controls
70 lines (58 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
abstractclassPen{
abstractvoidwrite();
abstractvoidrefill();
}
classFountainPenextendsPen {
voidwrite(){
System.out.println("Write");
}
voidrefill() {
System.out.println("refill");
}
voidchangeNib(){
System.out.println("Changing the nib");
}
}
classMonkey{
voidjump(){
System.out.println("Jumping...");
}
voidbite(){
System.out.println("Biting...");
}
}
interfaceBasicAnimal{
voideat();
voidsleep();
}
classHumanextendsMonkeyimplementsBasicAnimal{
voidspeak(){
System.out.println("Hello sir!");
}
@Override
publicvoideat() {
System.out.println("Eating");
}
@Override
publicvoidsleep() {
System.out.println("Sleeping");
}
}
classJavaPracticeQuestionsonAbstractClassesAndnterfaces{
publicstaticvoidmain(String[] args) {
FountainPenpen = newFountainPen();
pen.changeNib();
// Q3
HumanAshvin = newHuman();
Ashvin.sleep();
// Q5
Monkeym1 = newHuman();
m1.jump();
m1.bite();
// m1.speak(); --> Cannot use speak method because the reference is monkey which does not have speak method
BasicAnimallovish = newHuman();
// lovish.speak(); --> error
lovish.eat();
lovish.sleep();
}
}