From 262475f81c088f148bb9de3d64cb01af25a6ebd9 Mon Sep 17 00:00:00 2001 From: Karthick S Date: Wed, 28 Apr 2021 22:05:52 +0530 Subject: [PATCH 1/5] Interface vs Abstract Class in Java --- .../core-java-lang-oop-patterns/README.md | 1 + .../interface_vs_abstract_class/Car.java | 42 ++++++++++++++ .../ImageSender.java | 12 ++++ .../interface_vs_abstract_class/Sender.java | 8 +++ .../interface_vs_abstract_class/Vehicle.java | 57 +++++++++++++++++++ .../VideoSender.java | 13 +++++ .../SenderUnitTest.java | 21 +++++++ .../VehicleUnitTest.java | 21 +++++++ 8 files changed, 175 insertions(+) create mode 100644 core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java create mode 100644 core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java create mode 100644 core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java create mode 100644 core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java create mode 100644 core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java create mode 100644 core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java create mode 100644 core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java diff --git a/core-java-modules/core-java-lang-oop-patterns/README.md b/core-java-modules/core-java-lang-oop-patterns/README.md index 178a556a96..0f04a55e36 100644 --- a/core-java-modules/core-java-lang-oop-patterns/README.md +++ b/core-java-modules/core-java-lang-oop-patterns/README.md @@ -7,3 +7,4 @@ This module contains articles about Object-oriented programming (OOP) patterns i - [Inheritance and Composition (Is-a vs Has-a relationship) in Java](https://www.baeldung.com/java-inheritance-composition) - [Immutable Objects in Java](https://www.baeldung.com/java-immutable-object) - [How to Make a Deep Copy of an Object in Java](https://www.baeldung.com/java-deep-copy) +- [Interface vs Abstract Class in Java](https://www.baeldung.com/interface-vs-abstract-class-in-java/) diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java new file mode 100644 index 0000000000..11923be671 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java @@ -0,0 +1,42 @@ +package com.baeldung.interface_vs_abstract_class; + +public class Car extends Vehicle { + + public Car(String vechicleName) { + super(vechicleName); + } + + public Car(String vechicleName, String vehicleModel) { + super(vechicleName, vehicleModel); + } + + public Car(String vechicleName, String vehicleModel, Long makeYear) { + super(vechicleName, vehicleModel, makeYear); + } + + @Override + protected void start() { + // code implementation details on starting a car. + } + + @Override + protected void stop() { + // code implementation details on stopping a car. + } + + @Override + protected void drive() { + // code implementation details on start driving a car. + } + + @Override + protected void changeGear() { + // code implementation details on changing the car gear. + } + + @Override + protected void reverse() { + // code implementation details on reverse driving a car. + } + +} diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java new file mode 100644 index 0000000000..ccaee8157d --- /dev/null +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java @@ -0,0 +1,12 @@ +package com.baeldung.interface_vs_abstract_class; + +import java.io.File; + +public class ImageSender implements Sender { + + @Override + public void send(File fileToBeSent) { + // image sending implementation code. + } + +} \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java new file mode 100644 index 0000000000..72aa4a7681 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java @@ -0,0 +1,8 @@ +package com.baeldung.interface_vs_abstract_class; + +import java.io.File; + +public interface Sender { + + void send(File fileToBeSent); +} diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java new file mode 100644 index 0000000000..0661ddbdf4 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java @@ -0,0 +1,57 @@ +package com.baeldung.interface_vs_abstract_class; + +public abstract class Vehicle { + + private String vehicleName; + private String vehicleModel; + private Long makeYear; + + public Vehicle(String vehicleName) { + this.vehicleName = vehicleName; + } + + public Vehicle(String vehicleName, String vehicleModel) { + this(vehicleName); + this.vehicleModel = vehicleModel; + } + + public Vehicle(String vechicleName, String vehicleModel, Long makeYear) { + this(vechicleName, vehicleModel); + this.makeYear = makeYear; + } + + public String getVehicleName() { + return vehicleName; + } + + public void setVehicleName(String vehicleName) { + this.vehicleName = vehicleName; + } + + public String getVehicleModel() { + return vehicleModel; + } + + public void setVehicleModel(String vehicleModel) { + this.vehicleModel = vehicleModel; + } + + public Long getMakeYear() { + return makeYear; + } + + public void setMakeYear(Long makeYear) { + this.makeYear = makeYear; + } + + protected abstract void start(); + + protected abstract void stop(); + + protected abstract void drive(); + + protected abstract void changeGear(); + + protected abstract void reverse(); + +} diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java new file mode 100644 index 0000000000..d61281f7b1 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java @@ -0,0 +1,13 @@ +package com.baeldung.interface_vs_abstract_class; + +import java.io.File; + +public class VideoSender implements Sender { + + @Override + public void send(File fileToBeSent) { + // video sending implementation code + System.out.println("Sending Video..."); + } + +} \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java new file mode 100644 index 0000000000..219e7218a1 --- /dev/null +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java @@ -0,0 +1,21 @@ +package com.baeldung.interface_vs_abstract_class; + +import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; + +import java.io.File; + +class SenderUnitTest { + + public final static String IMAGE_FILE_PATH = "/sample_image_file_path/photo.jpg"; + + @Test + void givenImageUploaded_whenButtonClicked_thenSendImage() { + + File imageFile = new File(IMAGE_FILE_PATH); + + Sender sender = new ImageSender(); + sender.send(imageFile); + } + +} diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java new file mode 100644 index 0000000000..28921446fd --- /dev/null +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java @@ -0,0 +1,21 @@ +package com.baeldung.interface_vs_abstract_class; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class VehicleUnitTest { + + @Test + void givenVehicle_whenNeedToDrive_thenStart() { + + Vehicle car = new Car("BMW"); + + car.start(); + car.drive(); + car.changeGear(); + car.stop(); + + } + +} From 4f9725227f368ee8b80bf0f0d83b358c6969b853 Mon Sep 17 00:00:00 2001 From: Karthick S Date: Thu, 29 Apr 2021 11:01:23 +0530 Subject: [PATCH 2/5] Interface vs Abstract Class in Java --- core-java-modules/core-java-lang-oop-patterns/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/core-java-modules/core-java-lang-oop-patterns/README.md b/core-java-modules/core-java-lang-oop-patterns/README.md index 0f04a55e36..178a556a96 100644 --- a/core-java-modules/core-java-lang-oop-patterns/README.md +++ b/core-java-modules/core-java-lang-oop-patterns/README.md @@ -7,4 +7,3 @@ This module contains articles about Object-oriented programming (OOP) patterns i - [Inheritance and Composition (Is-a vs Has-a relationship) in Java](https://www.baeldung.com/java-inheritance-composition) - [Immutable Objects in Java](https://www.baeldung.com/java-immutable-object) - [How to Make a Deep Copy of an Object in Java](https://www.baeldung.com/java-deep-copy) -- [Interface vs Abstract Class in Java](https://www.baeldung.com/interface-vs-abstract-class-in-java/) From 850103a852268da82aa8abbe989ce0dca0e31937 Mon Sep 17 00:00:00 2001 From: Karthick S Date: Sat, 8 May 2021 12:31:44 +0530 Subject: [PATCH 3/5] PR review changes --- .../com/baeldung/interface_vs_abstract_class/VideoSender.java | 1 - .../baeldung/interface_vs_abstract_class/SenderUnitTest.java | 1 - .../baeldung/interface_vs_abstract_class/VehicleUnitTest.java | 2 -- 3 files changed, 4 deletions(-) diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java index d61281f7b1..08be38fe98 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java @@ -7,7 +7,6 @@ public class VideoSender implements Sender { @Override public void send(File fileToBeSent) { // video sending implementation code - System.out.println("Sending Video..."); } } \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java index 219e7218a1..154eb2876e 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java @@ -11,7 +11,6 @@ class SenderUnitTest { @Test void givenImageUploaded_whenButtonClicked_thenSendImage() { - File imageFile = new File(IMAGE_FILE_PATH); Sender sender = new ImageSender(); diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java index 28921446fd..23a18d922a 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java @@ -8,14 +8,12 @@ class VehicleUnitTest { @Test void givenVehicle_whenNeedToDrive_thenStart() { - Vehicle car = new Car("BMW"); car.start(); car.drive(); car.changeGear(); car.stop(); - } } From b488506e71032ac19b5075296d051f3625840c1d Mon Sep 17 00:00:00 2001 From: Karthick S Date: Sat, 8 May 2021 12:53:58 +0530 Subject: [PATCH 4/5] PR review changes --- .../interface_vs_abstract_class/Car.java | 58 +++++++-------- .../ImageSender.java | 8 +- .../interface_vs_abstract_class/Sender.java | 2 +- .../interface_vs_abstract_class/Vehicle.java | 74 +++++++++---------- .../VideoSender.java | 8 +- .../SenderUnitTest.java | 14 ++-- .../VehicleUnitTest.java | 16 ++-- 7 files changed, 90 insertions(+), 90 deletions(-) diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java index 11923be671..d9d2fbd192 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java @@ -2,41 +2,41 @@ package com.baeldung.interface_vs_abstract_class; public class Car extends Vehicle { - public Car(String vechicleName) { - super(vechicleName); - } + public Car(String vechicleName) { + super(vechicleName); + } - public Car(String vechicleName, String vehicleModel) { - super(vechicleName, vehicleModel); - } + public Car(String vechicleName, String vehicleModel) { + super(vechicleName, vehicleModel); + } - public Car(String vechicleName, String vehicleModel, Long makeYear) { - super(vechicleName, vehicleModel, makeYear); - } + public Car(String vechicleName, String vehicleModel, Long makeYear) { + super(vechicleName, vehicleModel, makeYear); + } - @Override - protected void start() { - // code implementation details on starting a car. - } + @Override + protected void start() { + // code implementation details on starting a car. + } - @Override - protected void stop() { - // code implementation details on stopping a car. - } + @Override + protected void stop() { + // code implementation details on stopping a car. + } - @Override - protected void drive() { - // code implementation details on start driving a car. - } + @Override + protected void drive() { + // code implementation details on start driving a car. + } - @Override - protected void changeGear() { - // code implementation details on changing the car gear. - } + @Override + protected void changeGear() { + // code implementation details on changing the car gear. + } - @Override - protected void reverse() { - // code implementation details on reverse driving a car. - } + @Override + protected void reverse() { + // code implementation details on reverse driving a car. + } } diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java index ccaee8157d..664a7bc951 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java @@ -4,9 +4,9 @@ import java.io.File; public class ImageSender implements Sender { - @Override - public void send(File fileToBeSent) { - // image sending implementation code. - } + @Override + public void send(File fileToBeSent) { + // image sending implementation code. + } } \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java index 72aa4a7681..88e65fabf2 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java @@ -4,5 +4,5 @@ import java.io.File; public interface Sender { - void send(File fileToBeSent); + void send(File fileToBeSent); } diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java index 0661ddbdf4..4d9a5c2ae6 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java @@ -2,56 +2,56 @@ package com.baeldung.interface_vs_abstract_class; public abstract class Vehicle { - private String vehicleName; - private String vehicleModel; - private Long makeYear; + private String vehicleName; + private String vehicleModel; + private Long makeYear; - public Vehicle(String vehicleName) { - this.vehicleName = vehicleName; - } + public Vehicle(String vehicleName) { + this.vehicleName = vehicleName; + } - public Vehicle(String vehicleName, String vehicleModel) { - this(vehicleName); - this.vehicleModel = vehicleModel; - } + public Vehicle(String vehicleName, String vehicleModel) { + this(vehicleName); + this.vehicleModel = vehicleModel; + } - public Vehicle(String vechicleName, String vehicleModel, Long makeYear) { - this(vechicleName, vehicleModel); - this.makeYear = makeYear; - } + public Vehicle(String vechicleName, String vehicleModel, Long makeYear) { + this(vechicleName, vehicleModel); + this.makeYear = makeYear; + } - public String getVehicleName() { - return vehicleName; - } + public String getVehicleName() { + return vehicleName; + } - public void setVehicleName(String vehicleName) { - this.vehicleName = vehicleName; - } + public void setVehicleName(String vehicleName) { + this.vehicleName = vehicleName; + } - public String getVehicleModel() { - return vehicleModel; - } + public String getVehicleModel() { + return vehicleModel; + } - public void setVehicleModel(String vehicleModel) { - this.vehicleModel = vehicleModel; - } + public void setVehicleModel(String vehicleModel) { + this.vehicleModel = vehicleModel; + } - public Long getMakeYear() { - return makeYear; - } + public Long getMakeYear() { + return makeYear; + } - public void setMakeYear(Long makeYear) { - this.makeYear = makeYear; - } + public void setMakeYear(Long makeYear) { + this.makeYear = makeYear; + } - protected abstract void start(); + protected abstract void start(); - protected abstract void stop(); + protected abstract void stop(); - protected abstract void drive(); + protected abstract void drive(); - protected abstract void changeGear(); + protected abstract void changeGear(); - protected abstract void reverse(); + protected abstract void reverse(); } diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java index 08be38fe98..61a89615c9 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java @@ -4,9 +4,9 @@ import java.io.File; public class VideoSender implements Sender { - @Override - public void send(File fileToBeSent) { - // video sending implementation code - } + @Override + public void send(File fileToBeSent) { + // video sending implementation code + } } \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java index 154eb2876e..76712ab868 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java @@ -7,14 +7,14 @@ import java.io.File; class SenderUnitTest { - public final static String IMAGE_FILE_PATH = "/sample_image_file_path/photo.jpg"; + public final static String IMAGE_FILE_PATH = "/sample_image_file_path/photo.jpg"; - @Test - void givenImageUploaded_whenButtonClicked_thenSendImage() { - File imageFile = new File(IMAGE_FILE_PATH); + @Test + void givenImageUploaded_whenButtonClicked_thenSendImage() { + File imageFile = new File(IMAGE_FILE_PATH); - Sender sender = new ImageSender(); - sender.send(imageFile); - } + Sender sender = new ImageSender(); + sender.send(imageFile); + } } diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java index 23a18d922a..baf4a5d648 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java @@ -6,14 +6,14 @@ import org.junit.jupiter.api.Test; class VehicleUnitTest { - @Test - void givenVehicle_whenNeedToDrive_thenStart() { - Vehicle car = new Car("BMW"); + @Test + void givenVehicle_whenNeedToDrive_thenStart() { + Vehicle car = new Car("BMW"); - car.start(); - car.drive(); - car.changeGear(); - car.stop(); - } + car.start(); + car.drive(); + car.changeGear(); + car.stop(); + } } From a7f36e85ddf297b0e055711c329601570d812770 Mon Sep 17 00:00:00 2001 From: Karthick S Date: Thu, 13 May 2021 11:06:09 +0530 Subject: [PATCH 5/5] package name - removed underscores --- .../Car.java | 2 +- .../ImageSender.java | 2 +- .../Sender.java | 2 +- .../Vehicle.java | 2 +- .../VideoSender.java | 2 +- .../SenderUnitTest.java | 5 ++++- .../VehicleUnitTest.java | 5 ++++- 7 files changed, 13 insertions(+), 7 deletions(-) rename core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/{interface_vs_abstract_class => interfacevsabstractclass}/Car.java (94%) rename core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/{interface_vs_abstract_class => interfacevsabstractclass}/ImageSender.java (78%) rename core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/{interface_vs_abstract_class => interfacevsabstractclass}/Sender.java (63%) rename core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/{interface_vs_abstract_class => interfacevsabstractclass}/Vehicle.java (96%) rename core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/{interface_vs_abstract_class => interfacevsabstractclass}/VideoSender.java (78%) rename core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/{interface_vs_abstract_class => interfacevsabstractclass}/SenderUnitTest.java (73%) rename core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/{interface_vs_abstract_class => interfacevsabstractclass}/VehicleUnitTest.java (67%) diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Car.java similarity index 94% rename from core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java rename to core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Car.java index d9d2fbd192..6f17ecc536 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Car.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Car.java @@ -1,4 +1,4 @@ -package com.baeldung.interface_vs_abstract_class; +package com.baeldung.interfacevsabstractclass; public class Car extends Vehicle { diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/ImageSender.java similarity index 78% rename from core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java rename to core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/ImageSender.java index 664a7bc951..1948cc6583 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/ImageSender.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/ImageSender.java @@ -1,4 +1,4 @@ -package com.baeldung.interface_vs_abstract_class; +package com.baeldung.interfacevsabstractclass; import java.io.File; diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Sender.java similarity index 63% rename from core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java rename to core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Sender.java index 88e65fabf2..fde6527ef6 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Sender.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Sender.java @@ -1,4 +1,4 @@ -package com.baeldung.interface_vs_abstract_class; +package com.baeldung.interfacevsabstractclass; import java.io.File; diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Vehicle.java similarity index 96% rename from core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java rename to core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Vehicle.java index 4d9a5c2ae6..d98b8ca93b 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/Vehicle.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/Vehicle.java @@ -1,4 +1,4 @@ -package com.baeldung.interface_vs_abstract_class; +package com.baeldung.interfacevsabstractclass; public abstract class Vehicle { diff --git a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/VideoSender.java similarity index 78% rename from core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java rename to core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/VideoSender.java index 61a89615c9..71f8050590 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interface_vs_abstract_class/VideoSender.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/main/java/com/baeldung/interfacevsabstractclass/VideoSender.java @@ -1,4 +1,4 @@ -package com.baeldung.interface_vs_abstract_class; +package com.baeldung.interfacevsabstractclass; import java.io.File; diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interfacevsabstractclass/SenderUnitTest.java similarity index 73% rename from core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java rename to core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interfacevsabstractclass/SenderUnitTest.java index 76712ab868..6419721b3a 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/SenderUnitTest.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interfacevsabstractclass/SenderUnitTest.java @@ -1,8 +1,11 @@ -package com.baeldung.interface_vs_abstract_class; +package com.baeldung.interfacevsabstractclass; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; +import com.baeldung.interfacevsabstractclass.ImageSender; +import com.baeldung.interfacevsabstractclass.Sender; + import java.io.File; class SenderUnitTest { diff --git a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interfacevsabstractclass/VehicleUnitTest.java similarity index 67% rename from core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java rename to core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interfacevsabstractclass/VehicleUnitTest.java index baf4a5d648..1650ab9257 100644 --- a/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interface_vs_abstract_class/VehicleUnitTest.java +++ b/core-java-modules/core-java-lang-oop-patterns/src/test/java/com/baeldung/interfacevsabstractclass/VehicleUnitTest.java @@ -1,9 +1,12 @@ -package com.baeldung.interface_vs_abstract_class; +package com.baeldung.interfacevsabstractclass; import static org.junit.jupiter.api.Assertions.*; import org.junit.jupiter.api.Test; +import com.baeldung.interfacevsabstractclass.Car; +import com.baeldung.interfacevsabstractclass.Vehicle; + class VehicleUnitTest { @Test