diff --git a/Abstraction/.gitignore b/Abstraction/.gitignore
new file mode 100644
index 0000000..13275f1
--- /dev/null
+++ b/Abstraction/.gitignore
@@ -0,0 +1,30 @@
+### IntelliJ IDEA ###
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+.kotlin
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/Abstraction/.idea/.gitignore b/Abstraction/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/Abstraction/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/Abstraction/.idea/misc.xml b/Abstraction/.idea/misc.xml
new file mode 100644
index 0000000..0548357
--- /dev/null
+++ b/Abstraction/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Abstraction/.idea/modules.xml b/Abstraction/.idea/modules.xml
new file mode 100644
index 0000000..3881404
--- /dev/null
+++ b/Abstraction/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Abstraction/.idea/vcs.xml b/Abstraction/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/Abstraction/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Abstraction/Abstraction.iml b/Abstraction/Abstraction.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/Abstraction/Abstraction.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Abstraction/src/com/xworkz/external/ATmRunner.java b/Abstraction/src/com/xworkz/external/ATmRunner.java
new file mode 100644
index 0000000..cf02d97
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/ATmRunner.java
@@ -0,0 +1,14 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Jeevan;
+import com.xworkz.internal.ATM;
+
+public class ATmRunner {
+ public static void main(String[] args){
+
+
+ ATM atm=new Jeevan();
+ atm.enterPin();
+ atm.selectAcc();
+ }
+}
diff --git a/Abstraction/src/com/xworkz/external/AnimalRunner.java b/Abstraction/src/com/xworkz/external/AnimalRunner.java
new file mode 100644
index 0000000..1645503
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/AnimalRunner.java
@@ -0,0 +1,13 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Dog;
+import com.xworkz.internal.Animal;
+
+public class AnimalRunner {
+ public static void main(String[] args) {
+ Animal a = new Dog();
+ a.sound();
+ a.sleep();
+ a.walk();
+ }
+}
diff --git a/Abstraction/src/com/xworkz/external/FoodRunner.java b/Abstraction/src/com/xworkz/external/FoodRunner.java
new file mode 100644
index 0000000..6651827
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/FoodRunner.java
@@ -0,0 +1,12 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Swiggy;
+import com.xworkz.internal.FoodApp;
+
+public class FoodRunner {
+ public static void main(String[] args) {
+ FoodApp app = new Swiggy();
+ app.orderFood();
+ app.payment();
+ }
+}
diff --git a/Abstraction/src/com/xworkz/external/GameRunner.java b/Abstraction/src/com/xworkz/external/GameRunner.java
new file mode 100644
index 0000000..2c2d8de
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/GameRunner.java
@@ -0,0 +1,15 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Cricket;
+import com.xworkz.internal.Game;
+
+
+public class GameRunner {
+ public static void main(String[] args) {
+ Game g = new Cricket();
+ g.start();
+ g.play();
+ g.exit();
+ Game.players();
+ }
+}
diff --git a/Abstraction/src/com/xworkz/external/MusicRunner.java b/Abstraction/src/com/xworkz/external/MusicRunner.java
new file mode 100644
index 0000000..6ed779a
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/MusicRunner.java
@@ -0,0 +1,14 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Spotify;
+import com.xworkz.internal.MusicPlayer;
+
+public class MusicRunner {
+ public static void main(String[] args) {
+ MusicPlayer m = new Spotify();
+ m.playSong();
+ m.pause();
+ m.stop();
+ }
+
+}
diff --git a/Abstraction/src/com/xworkz/external/PhoneRunner.java b/Abstraction/src/com/xworkz/external/PhoneRunner.java
new file mode 100644
index 0000000..c782119
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/PhoneRunner.java
@@ -0,0 +1,13 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Samsung;
+import com.xworkz.internal.Phone;
+
+public class PhoneRunner {
+ public static void main(String[] args) {
+ Phone p = new Samsung();
+ p.call();
+ p.message();
+ p.charging();
+ }
+}
diff --git a/Abstraction/src/com/xworkz/external/PrinterRunner.java b/Abstraction/src/com/xworkz/external/PrinterRunner.java
new file mode 100644
index 0000000..ee641dc
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/PrinterRunner.java
@@ -0,0 +1,14 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.HP;
+import com.xworkz.internal.Printer;
+
+public class PrinterRunner {
+ public static void main(String[] args) {
+ Printer p = new HP();
+ p.connect();
+ p.type();
+ p.printDocument();
+ }
+
+}
diff --git a/Abstraction/src/com/xworkz/external/ShapeRunner.java b/Abstraction/src/com/xworkz/external/ShapeRunner.java
new file mode 100644
index 0000000..f8dd74b
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/ShapeRunner.java
@@ -0,0 +1,12 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Circle;
+import com.xworkz.internal.Shape;
+
+public class ShapeRunner {
+ public static void main(String[] args) {
+ Shape s = new Circle();
+ s.display();
+ System.out.println("Area: " + s.area());
+ }
+}
diff --git a/Abstraction/src/com/xworkz/external/UniversityRunner.java b/Abstraction/src/com/xworkz/external/UniversityRunner.java
new file mode 100644
index 0000000..33fbab9
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/UniversityRunner.java
@@ -0,0 +1,12 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.MIT;
+import com.xworkz.internal.University;
+
+public class UniversityRunner {
+ public static void main(String[] args) {
+ University u = new MIT();
+ u.admission();
+ u.courses();
+ }
+}
diff --git a/Abstraction/src/com/xworkz/external/VehicleRunner.java b/Abstraction/src/com/xworkz/external/VehicleRunner.java
new file mode 100644
index 0000000..05c0e1e
--- /dev/null
+++ b/Abstraction/src/com/xworkz/external/VehicleRunner.java
@@ -0,0 +1,13 @@
+package com.xworkz.external;
+
+import com.xworkz.imp.Bike;
+import com.xworkz.internal.Vehicle;
+
+public class VehicleRunner {
+ public static void main(String[] args) {
+ Vehicle v = new Bike();
+ v.start();
+ v.stop();
+ Vehicle.exhaust();
+ }
+}
diff --git a/Abstraction/src/com/xworkz/imp/Bike.java b/Abstraction/src/com/xworkz/imp/Bike.java
new file mode 100644
index 0000000..973b6c8
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Bike.java
@@ -0,0 +1,16 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.Vehicle;
+
+public class Bike extends Vehicle {
+ @Override
+ public void start() {
+
+ System.out.println("Bike starts with kick");
+ }
+ @Override
+ public void stop(){
+ System.out.println("It uses brake to stop the vehicle");
+ }
+
+}
diff --git a/Abstraction/src/com/xworkz/imp/Circle.java b/Abstraction/src/com/xworkz/imp/Circle.java
new file mode 100644
index 0000000..465d6b6
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Circle.java
@@ -0,0 +1,12 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.Shape;
+
+public class Circle extends Shape {
+ double radius = 5;
+
+ @Override
+ public double area() {
+ return 3.14 * radius * radius;
+ }
+}
diff --git a/Abstraction/src/com/xworkz/imp/Cricket.java b/Abstraction/src/com/xworkz/imp/Cricket.java
new file mode 100644
index 0000000..de22243
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Cricket.java
@@ -0,0 +1,19 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.Game;
+
+public class Cricket extends Game {
+
+ @Override
+ public void start() {
+
+ System.out.println("Cricket game started");
+ }
+
+ @Override
+ public void play()
+ {
+ System.out.println("Playing cricket...");
+ }
+
+}
diff --git a/Abstraction/src/com/xworkz/imp/Dog.java b/Abstraction/src/com/xworkz/imp/Dog.java
new file mode 100644
index 0000000..2e26fb5
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Dog.java
@@ -0,0 +1,17 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.Animal;
+
+public class Dog extends Animal {
+
+ public void sound() {
+ System.out.println("Dog barks");
+ }
+
+ @Override
+ public void walk() {
+ System.out.println("Dog walks speeder than the cow..");
+ }
+
+}
+
diff --git a/Abstraction/src/com/xworkz/imp/HP.java b/Abstraction/src/com/xworkz/imp/HP.java
new file mode 100644
index 0000000..c8feed2
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/HP.java
@@ -0,0 +1,18 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.Printer;
+
+public class HP extends Printer {
+ @Override
+ public void printDocument() {
+
+ System.out.println("Printing document using HP Printer");
+ }
+
+ @Override
+ public void type() {
+ System.out.println("A4 sheet type printer ");
+ }
+
+
+}
diff --git a/Abstraction/src/com/xworkz/imp/Jeevan.java b/Abstraction/src/com/xworkz/imp/Jeevan.java
new file mode 100644
index 0000000..13e7e87
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Jeevan.java
@@ -0,0 +1,16 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.ATM;
+
+public class Jeevan extends ATM {
+
+ @Override
+ public void enterPin() {
+ System.out.println("Entered the pin 6969");
+ }
+
+ @Override
+ public void selectAcc() {
+ System.out.println("Sleceted the acc Canara");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/imp/MIT.java b/Abstraction/src/com/xworkz/imp/MIT.java
new file mode 100644
index 0000000..5e06cc6
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/MIT.java
@@ -0,0 +1,10 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.University;
+
+public class MIT extends University {
+ @Override
+ public void courses() {
+ System.out.println("MIT offers Engineering & Science courses");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/imp/Samsung.java b/Abstraction/src/com/xworkz/imp/Samsung.java
new file mode 100644
index 0000000..9ed5a7f
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Samsung.java
@@ -0,0 +1,15 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.Phone;
+
+public class Samsung extends Phone {
+ @Override
+ public void call() {
+ System.out.println("Calling from Samsung");
+ }
+
+ @Override
+ public void message() {
+ System.out.println("Message sent from Samsung");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/imp/Spotify.java b/Abstraction/src/com/xworkz/imp/Spotify.java
new file mode 100644
index 0000000..73ff7d4
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Spotify.java
@@ -0,0 +1,15 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.MusicPlayer;
+
+public class Spotify extends MusicPlayer {
+ @Override
+ public void playSong() {
+ System.out.println("Spotify is playing a song...");
+ }
+
+ @Override
+ public void pause() {
+ System.out.println("Spotify paused the song");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/imp/Swiggy.java b/Abstraction/src/com/xworkz/imp/Swiggy.java
new file mode 100644
index 0000000..60db78c
--- /dev/null
+++ b/Abstraction/src/com/xworkz/imp/Swiggy.java
@@ -0,0 +1,10 @@
+package com.xworkz.imp;
+
+import com.xworkz.internal.FoodApp;
+
+public class Swiggy extends FoodApp {
+ @Override
+ public void orderFood() {
+ System.out.println("Food ordered from Swiggy");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/internal/ATM.java b/Abstraction/src/com/xworkz/internal/ATM.java
new file mode 100644
index 0000000..2c237cd
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/ATM.java
@@ -0,0 +1,11 @@
+package com.xworkz.internal;
+
+public abstract class ATM {
+ public void enterPin() {
+ System.out.println("Enter the ATM pincode");
+ }
+
+ public void selectAcc() {
+ System.out.println("Select the Acc type");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/internal/Animal.java b/Abstraction/src/com/xworkz/internal/Animal.java
new file mode 100644
index 0000000..76b5593
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/Animal.java
@@ -0,0 +1,12 @@
+package com.xworkz.internal;
+
+public abstract class Animal {
+ public abstract void sound();
+
+ public void sleep() {
+
+ System.out.println("Animal is sleeping");
+ }
+ public abstract void walk();
+}
+
diff --git a/Abstraction/src/com/xworkz/internal/FoodApp.java b/Abstraction/src/com/xworkz/internal/FoodApp.java
new file mode 100644
index 0000000..f97aec9
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/FoodApp.java
@@ -0,0 +1,9 @@
+package com.xworkz.internal;
+
+public abstract class FoodApp {
+ public abstract void orderFood();
+
+ public void payment() {
+ System.out.println("Payment done successfully");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/internal/Game.java b/Abstraction/src/com/xworkz/internal/Game.java
new file mode 100644
index 0000000..f050d51
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/Game.java
@@ -0,0 +1,16 @@
+package com.xworkz.internal;
+
+public abstract class Game {
+ public abstract void start();
+
+ public abstract void play();
+ public void exit() {
+
+ System.out.println("Game exited");
+ }
+ public static void players(){
+ System.out.println("no of Players required is:");
+ }
+
+}
+
diff --git a/Abstraction/src/com/xworkz/internal/MusicPlayer.java b/Abstraction/src/com/xworkz/internal/MusicPlayer.java
new file mode 100644
index 0000000..eeeab8e
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/MusicPlayer.java
@@ -0,0 +1,11 @@
+package com.xworkz.internal;
+
+public abstract class MusicPlayer {
+ public abstract void playSong();
+ public abstract void pause();
+
+ public void stop() {
+ System.out.println("Stopped playing");
+ }
+}
+
diff --git a/Abstraction/src/com/xworkz/internal/Phone.java b/Abstraction/src/com/xworkz/internal/Phone.java
new file mode 100644
index 0000000..2fe0e2c
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/Phone.java
@@ -0,0 +1,11 @@
+package com.xworkz.internal;
+
+public abstract class Phone {
+ public abstract void call();
+ public abstract void message();
+
+ public void charging() {
+ System.out.println("Phone is charging");
+ }
+}
+
diff --git a/Abstraction/src/com/xworkz/internal/Printer.java b/Abstraction/src/com/xworkz/internal/Printer.java
new file mode 100644
index 0000000..4e213c9
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/Printer.java
@@ -0,0 +1,11 @@
+package com.xworkz.internal;
+
+public abstract class Printer {
+ public abstract void printDocument();
+
+ public void connect() {
+
+ System.out.println("Printer connected successfully");
+ }
+ public abstract void type();
+}
diff --git a/Abstraction/src/com/xworkz/internal/Shape.java b/Abstraction/src/com/xworkz/internal/Shape.java
new file mode 100644
index 0000000..ea94d27
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/Shape.java
@@ -0,0 +1,9 @@
+package com.xworkz.internal;
+
+public abstract class Shape {
+ public abstract double area();
+
+ public void display() {
+ System.out.println("Calculating area...");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/internal/University.java b/Abstraction/src/com/xworkz/internal/University.java
new file mode 100644
index 0000000..cc26958
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/University.java
@@ -0,0 +1,9 @@
+package com.xworkz.internal;
+
+public abstract class University {
+ public abstract void courses();
+
+ public void admission() {
+ System.out.println("Admission process started");
+ }
+}
diff --git a/Abstraction/src/com/xworkz/internal/Vehicle.java b/Abstraction/src/com/xworkz/internal/Vehicle.java
new file mode 100644
index 0000000..2f383b3
--- /dev/null
+++ b/Abstraction/src/com/xworkz/internal/Vehicle.java
@@ -0,0 +1,16 @@
+package com.xworkz.internal;
+
+public abstract class Vehicle {
+
+ public abstract void start();
+
+ public void stop() {
+
+ System.out.println("Vehicle stopped");
+ }
+
+ public static void exhaust(){
+ System.out.println("The exhaust used is:");
+ }
+
+}
diff --git a/Enumeration/src/com/xworkz/internal/Cats.java b/Enumeration/src/com/xworkz/internal/Cats.java
new file mode 100644
index 0000000..afc6953
--- /dev/null
+++ b/Enumeration/src/com/xworkz/internal/Cats.java
@@ -0,0 +1,22 @@
+package com.xworkz.internal;
+
+public enum Cats {
+ PERSIAN(4000,"Punch Face and Doll faces"),RUSSIAN(5000,"Crazyy"),SIAMESE(6000,"Dance"),RAGDOLL(6000,"faster"),SCOTTISH(7000,"cute"),HIMALAYAN(8000,"snowy"),BENGAL(4000,"faster"),BRITISH(9000,"Cutest");
+
+ int price;
+ String feature;
+
+
+ private Cats(int price,String feature){
+ this.price=price;
+ this.feature=feature;
+
+ }
+ public int getPrice(){
+ return price;
+ }
+ public String getFeature(){
+ return feature;
+
+ }
+}
diff --git a/Enumeration/src/com/xworkz/runner/CatRunner.java b/Enumeration/src/com/xworkz/runner/CatRunner.java
new file mode 100644
index 0000000..97a534c
--- /dev/null
+++ b/Enumeration/src/com/xworkz/runner/CatRunner.java
@@ -0,0 +1,10 @@
+package com.xworkz.runner;
+
+import com.xworkz.internal.Cats;
+
+public class CatRunner {
+ public static void main(String[] args) {
+ System.out.println(Cats.SCOTTISH.getFeature());
+ System.out.println(Cats.HIMALAYAN);
+ }
+}
\ No newline at end of file
diff --git a/Interface/.gitignore b/Interface/.gitignore
new file mode 100644
index 0000000..13275f1
--- /dev/null
+++ b/Interface/.gitignore
@@ -0,0 +1,30 @@
+### IntelliJ IDEA ###
+out/
+!**/src/main/**/out/
+!**/src/test/**/out/
+.kotlin
+
+### Eclipse ###
+.apt_generated
+.classpath
+.factorypath
+.project
+.settings
+.springBeans
+.sts4-cache
+bin/
+!**/src/main/**/bin/
+!**/src/test/**/bin/
+
+### NetBeans ###
+/nbproject/private/
+/nbbuild/
+/dist/
+/nbdist/
+/.nb-gradle/
+
+### VS Code ###
+.vscode/
+
+### Mac OS ###
+.DS_Store
\ No newline at end of file
diff --git a/Interface/.idea/.gitignore b/Interface/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/Interface/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/Interface/.idea/misc.xml b/Interface/.idea/misc.xml
new file mode 100644
index 0000000..0548357
--- /dev/null
+++ b/Interface/.idea/misc.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Interface/.idea/modules.xml b/Interface/.idea/modules.xml
new file mode 100644
index 0000000..3de2989
--- /dev/null
+++ b/Interface/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Interface/.idea/vcs.xml b/Interface/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/Interface/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Interface/Interface.iml b/Interface/Interface.iml
new file mode 100644
index 0000000..c90834f
--- /dev/null
+++ b/Interface/Interface.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Interface/src/com/xworkz/external/AutomobileRunner.java b/Interface/src/com/xworkz/external/AutomobileRunner.java
new file mode 100644
index 0000000..174bb62
--- /dev/null
+++ b/Interface/src/com/xworkz/external/AutomobileRunner.java
@@ -0,0 +1,16 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Automobile;
+import com.xworkz.internal.Bike;
+import com.xworkz.internal.Car;
+
+public class AutomobileRunner {
+ public static void main(String[] args) {
+
+ Bike bike = new Automobile();
+ bike.kickStart();
+
+ Car car = new Automobile();
+ car.keyStart();
+ }
+}
diff --git a/Interface/src/com/xworkz/external/DeviceRunner.java b/Interface/src/com/xworkz/external/DeviceRunner.java
new file mode 100644
index 0000000..b335a70
--- /dev/null
+++ b/Interface/src/com/xworkz/external/DeviceRunner.java
@@ -0,0 +1,16 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Devices;
+import com.xworkz.internal.Laptop;
+import com.xworkz.internal.Mobile;
+
+public class DeviceRunner {
+ public static void main(String[] args) {
+
+ Laptop laptop = new Devices();
+ laptop.runApplication();
+
+ Mobile mobile = new Devices();
+ mobile.call();
+ }
+}
diff --git a/Interface/src/com/xworkz/external/EducationRunner.java b/Interface/src/com/xworkz/external/EducationRunner.java
new file mode 100644
index 0000000..f059fb8
--- /dev/null
+++ b/Interface/src/com/xworkz/external/EducationRunner.java
@@ -0,0 +1,16 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Education;
+import com.xworkz.internal.Student;
+import com.xworkz.internal.Teacher;
+
+public class EducationRunner {
+ public static void main(String[] args) {
+
+ Teacher teacher = new Education();
+ teacher.teach();
+
+ Student student = new Education();
+ student.study();
+ }
+}
diff --git a/Interface/src/com/xworkz/external/EntertainmentRunner.java b/Interface/src/com/xworkz/external/EntertainmentRunner.java
new file mode 100644
index 0000000..3474a0a
--- /dev/null
+++ b/Interface/src/com/xworkz/external/EntertainmentRunner.java
@@ -0,0 +1,18 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Entertainment;
+import com.xworkz.internal.Radio;
+import com.xworkz.internal.TV;
+
+public class EntertainmentRunner {
+ public static void main(String[] args) {
+
+ TV tv = new Entertainment();
+ tv.playChannel();
+ System.out.println("TV Volume: " + tv.volume());
+
+ Radio radio = new Entertainment();
+ radio.tuneFrequency();
+ System.out.println("Is FM? : " + radio.isFM());
+ }
+}
diff --git a/Interface/src/com/xworkz/external/GadgetRunner.java b/Interface/src/com/xworkz/external/GadgetRunner.java
new file mode 100644
index 0000000..27cddc8
--- /dev/null
+++ b/Interface/src/com/xworkz/external/GadgetRunner.java
@@ -0,0 +1,16 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Gadget;
+import com.xworkz.internal.Camera;
+import com.xworkz.internal.Drone;
+
+public class GadgetRunner {
+ public static void main(String[] args) {
+
+ Camera camera = new Gadget();
+ camera.capture();
+
+ Drone drone = new Gadget();
+ drone.fly();
+ }
+}
diff --git a/Interface/src/com/xworkz/external/HotelRunner.java b/Interface/src/com/xworkz/external/HotelRunner.java
new file mode 100644
index 0000000..d6a7da8
--- /dev/null
+++ b/Interface/src/com/xworkz/external/HotelRunner.java
@@ -0,0 +1,16 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Hotel;
+import com.xworkz.internal.Chef;
+import com.xworkz.internal.Waiter;
+
+public class HotelRunner {
+ public static void main(String[] args) {
+
+ Chef chef = new Hotel();
+ chef.cook();
+
+ Waiter waiter = new Hotel();
+ waiter.serve();
+ }
+}
diff --git a/Interface/src/com/xworkz/external/PerformanceRunner.java b/Interface/src/com/xworkz/external/PerformanceRunner.java
new file mode 100644
index 0000000..245ab62
--- /dev/null
+++ b/Interface/src/com/xworkz/external/PerformanceRunner.java
@@ -0,0 +1,16 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Performer;
+import com.xworkz.internal.Dancer;
+import com.xworkz.internal.Singer;
+
+public class PerformanceRunner {
+ public static void main(String[] args) {
+
+ Singer singer = new Performer();
+ singer.sing();
+
+ Dancer dancer = new Performer();
+ dancer.dance();
+ }
+}
diff --git a/Interface/src/com/xworkz/external/SocialRunner.java b/Interface/src/com/xworkz/external/SocialRunner.java
new file mode 100644
index 0000000..fcf18c6
--- /dev/null
+++ b/Interface/src/com/xworkz/external/SocialRunner.java
@@ -0,0 +1,17 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.SocialMedia;
+import com.xworkz.internal.Telegram;
+import com.xworkz.internal.WhatsApp;
+
+public class SocialRunner {
+ public static void main(String[] args) {
+ WhatsApp w = new SocialMedia();
+ w.sendMessage();
+ System.out.println(w.isOnline());
+
+ Telegram t = new SocialMedia();
+ t.sendFile();
+ System.out.println(t.maxFileSize());
+ }
+}
diff --git a/Interface/src/com/xworkz/external/TransportRunner.java b/Interface/src/com/xworkz/external/TransportRunner.java
new file mode 100644
index 0000000..3270b05
--- /dev/null
+++ b/Interface/src/com/xworkz/external/TransportRunner.java
@@ -0,0 +1,16 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Transport;
+import com.xworkz.internal.Flight;
+import com.xworkz.internal.Train;
+
+public class TransportRunner {
+ public static void main(String[] args) {
+
+ Train train = new Transport();
+ train.bookTicket();
+
+ Flight flight = new Transport();
+ flight.checkIn();
+ }
+}
diff --git a/Interface/src/com/xworkz/external/User.java b/Interface/src/com/xworkz/external/User.java
new file mode 100644
index 0000000..fa5f264
--- /dev/null
+++ b/Interface/src/com/xworkz/external/User.java
@@ -0,0 +1,17 @@
+package com.xworkz.external;
+
+import com.xworkz.implement.Chrome;
+import com.xworkz.internal.Browser;
+import com.xworkz.internal.Firefox;
+
+public class User {
+ public static void main(String[] args){
+ Browser browser=new Chrome();
+ browser.createAcc();
+ System.out.println(browser.subscription());
+
+ Firefox firefox=new Chrome();
+ firefox.createAccount();
+ System.out.println(firefox.isSubscroption());
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Automobile.java b/Interface/src/com/xworkz/implement/Automobile.java
new file mode 100644
index 0000000..5b96897
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Automobile.java
@@ -0,0 +1,13 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Bike;
+import com.xworkz.internal.Car;
+
+public class Automobile implements Car, Bike {
+ public void kickStart() {
+ System.out.println("Bike kick-started");
+ }
+ public void keyStart() {
+ System.out.println("Car key-started");
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Chrome.java b/Interface/src/com/xworkz/implement/Chrome.java
new file mode 100644
index 0000000..8840704
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Chrome.java
@@ -0,0 +1,30 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Browser;
+import com.xworkz.internal.Firefox;
+
+public class Chrome implements Browser, Firefox {
+ @Override
+ public void createAcc() {
+ System.out.println("Please Create an Account.....");
+
+ }
+
+ @Override
+ public int subscription() {
+ System.out.println("The subscription is:");
+ return 199;
+ }
+
+ @Override
+ public void createAccount() {
+ System.out.println("FireFox Account has been created ");
+
+ }
+
+ @Override
+ public boolean isSubscroption() {
+ System.out.println("Subscription is not purchased yet...");
+ return false;
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Devices.java b/Interface/src/com/xworkz/implement/Devices.java
new file mode 100644
index 0000000..5c34cf8
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Devices.java
@@ -0,0 +1,15 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Laptop;
+import com.xworkz.internal.Mobile;
+
+public class Devices implements Laptop, Mobile {
+
+
+ public void runApplication() {
+ System.out.println("Laptop application running...");
+ }
+ public void call() {
+ System.out.println("Calling using Mobile...");
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Education.java b/Interface/src/com/xworkz/implement/Education.java
new file mode 100644
index 0000000..2923d9b
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Education.java
@@ -0,0 +1,13 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Student;
+import com.xworkz.internal.Teacher;
+
+public class Education implements Teacher, Student {
+ public void teach() {
+ System.out.println("Teacher is teaching...");
+ }
+ public void study() {
+ System.out.println("Student studying...");
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Entertainment.java b/Interface/src/com/xworkz/implement/Entertainment.java
new file mode 100644
index 0000000..d19df67
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Entertainment.java
@@ -0,0 +1,23 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Radio;
+import com.xworkz.internal.TV;
+
+public class Entertainment implements TV, Radio {
+ @Override
+ public void playChannel() {
+ System.out.println("Playing TV Channel...");
+ }
+ @Override
+ public int volume() {
+ return 45;
+ }
+ @Override
+ public void tuneFrequency() {
+ System.out.println("Tuned to FM Radio");
+ }
+ @Override
+ public boolean isFM() {
+ return true;
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Gadget.java b/Interface/src/com/xworkz/implement/Gadget.java
new file mode 100644
index 0000000..dc534d4
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Gadget.java
@@ -0,0 +1,14 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Camera;
+import com.xworkz.internal.Drone;
+
+public class Gadget implements Drone, Camera {
+
+ public void capture() {
+ System.out.println("Capturing a photo...");
+ }
+ public void fly() {
+ System.out.println("Drone is flying...");
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Hotel.java b/Interface/src/com/xworkz/implement/Hotel.java
new file mode 100644
index 0000000..781ce1e
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Hotel.java
@@ -0,0 +1,13 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Chef;
+import com.xworkz.internal.Waiter;
+
+public class Hotel implements Waiter, Chef {
+ public void cook() {
+ System.out.println("Chef is Cooking...");
+ }
+ public void serve() {
+ System.out.println("Waiter is serving...");
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Performer.java b/Interface/src/com/xworkz/implement/Performer.java
new file mode 100644
index 0000000..cc6b627
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Performer.java
@@ -0,0 +1,13 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Dancer;
+import com.xworkz.internal.Singer;
+
+public class Performer implements Singer, Dancer {
+ public void sing() {
+ System.out.println("Singing on stage");
+ }
+ public void dance() {
+ System.out.println("Dancing on stage");
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/SocialMedia.java b/Interface/src/com/xworkz/implement/SocialMedia.java
new file mode 100644
index 0000000..de82c6c
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/SocialMedia.java
@@ -0,0 +1,26 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Telegram;
+import com.xworkz.internal.WhatsApp;
+
+public class SocialMedia implements WhatsApp, Telegram {
+ @Override
+ public void sendMessage() {
+ System.out.println("Message sent through WhatsApp...");
+ }
+
+ @Override
+ public boolean isOnline() {
+ return true;
+ }
+
+ @Override
+ public void sendFile() {
+ System.out.println("File sent through Telegram");
+ }
+
+ @Override
+ public int maxFileSize() {
+ return 2048;
+ }
+}
diff --git a/Interface/src/com/xworkz/implement/Transport.java b/Interface/src/com/xworkz/implement/Transport.java
new file mode 100644
index 0000000..86b1153
--- /dev/null
+++ b/Interface/src/com/xworkz/implement/Transport.java
@@ -0,0 +1,14 @@
+package com.xworkz.implement;
+
+import com.xworkz.internal.Flight;
+import com.xworkz.internal.Train;
+
+public class Transport implements Flight, Train {
+
+ public void bookTicket() {
+ System.out.println("Train ticket booked");
+ }
+ public void checkIn() {
+ System.out.println("Flight check-in successful");
+ }
+}
diff --git a/Interface/src/com/xworkz/internal/Bike.java b/Interface/src/com/xworkz/internal/Bike.java
new file mode 100644
index 0000000..b287464
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Bike.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Bike {
+ void kickStart();
+}
diff --git a/Interface/src/com/xworkz/internal/Browser.java b/Interface/src/com/xworkz/internal/Browser.java
new file mode 100644
index 0000000..4d4142f
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Browser.java
@@ -0,0 +1,7 @@
+package com.xworkz.internal;
+
+public interface Browser {
+ void createAcc();
+
+ int subscription();
+}
diff --git a/Interface/src/com/xworkz/internal/Camera.java b/Interface/src/com/xworkz/internal/Camera.java
new file mode 100644
index 0000000..0dfac99
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Camera.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Camera {
+ void capture();
+}
diff --git a/Interface/src/com/xworkz/internal/Car.java b/Interface/src/com/xworkz/internal/Car.java
new file mode 100644
index 0000000..d1bb613
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Car.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Car {
+ void keyStart();
+}
diff --git a/Interface/src/com/xworkz/internal/Chef.java b/Interface/src/com/xworkz/internal/Chef.java
new file mode 100644
index 0000000..49eaa1c
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Chef.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Chef {
+ void cook();
+}
diff --git a/Interface/src/com/xworkz/internal/Dancer.java b/Interface/src/com/xworkz/internal/Dancer.java
new file mode 100644
index 0000000..57d3ff6
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Dancer.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Dancer {
+ void dance();
+}
diff --git a/Interface/src/com/xworkz/internal/Drone.java b/Interface/src/com/xworkz/internal/Drone.java
new file mode 100644
index 0000000..118fd15
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Drone.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Drone {
+ void fly();
+}
diff --git a/Interface/src/com/xworkz/internal/Firefox.java b/Interface/src/com/xworkz/internal/Firefox.java
new file mode 100644
index 0000000..7979a16
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Firefox.java
@@ -0,0 +1,9 @@
+package com.xworkz.internal;
+
+public interface Firefox {
+ void createAccount();
+
+ boolean isSubscroption();
+
+
+}
diff --git a/Interface/src/com/xworkz/internal/Flight.java b/Interface/src/com/xworkz/internal/Flight.java
new file mode 100644
index 0000000..1e87ad2
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Flight.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Flight {
+ void checkIn();
+}
diff --git a/Interface/src/com/xworkz/internal/Laptop.java b/Interface/src/com/xworkz/internal/Laptop.java
new file mode 100644
index 0000000..d3aa609
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Laptop.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Laptop {
+ void runApplication();
+}
diff --git a/Interface/src/com/xworkz/internal/Mobile.java b/Interface/src/com/xworkz/internal/Mobile.java
new file mode 100644
index 0000000..5f43368
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Mobile.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Mobile {
+ void call();
+}
diff --git a/Interface/src/com/xworkz/internal/Radio.java b/Interface/src/com/xworkz/internal/Radio.java
new file mode 100644
index 0000000..152eff3
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Radio.java
@@ -0,0 +1,6 @@
+package com.xworkz.internal;
+
+public interface Radio {
+ void tuneFrequency();
+ boolean isFM();
+}
diff --git a/Interface/src/com/xworkz/internal/Singer.java b/Interface/src/com/xworkz/internal/Singer.java
new file mode 100644
index 0000000..f77151a
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Singer.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Singer {
+ void sing();
+}
diff --git a/Interface/src/com/xworkz/internal/Student.java b/Interface/src/com/xworkz/internal/Student.java
new file mode 100644
index 0000000..a8ae03c
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Student.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Student {
+ void study();
+}
diff --git a/Interface/src/com/xworkz/internal/TV.java b/Interface/src/com/xworkz/internal/TV.java
new file mode 100644
index 0000000..1385b11
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/TV.java
@@ -0,0 +1,6 @@
+package com.xworkz.internal;
+
+public interface TV {
+ void playChannel();
+ int volume();
+}
diff --git a/Interface/src/com/xworkz/internal/Teacher.java b/Interface/src/com/xworkz/internal/Teacher.java
new file mode 100644
index 0000000..8cdc293
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Teacher.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Teacher {
+ void teach();
+}
diff --git a/Interface/src/com/xworkz/internal/Telegram.java b/Interface/src/com/xworkz/internal/Telegram.java
new file mode 100644
index 0000000..46eba8f
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Telegram.java
@@ -0,0 +1,6 @@
+package com.xworkz.internal;
+
+public interface Telegram {
+ void sendFile();
+ int maxFileSize();
+}
diff --git a/Interface/src/com/xworkz/internal/Train.java b/Interface/src/com/xworkz/internal/Train.java
new file mode 100644
index 0000000..183b02b
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Train.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Train {
+ void bookTicket();
+}
diff --git a/Interface/src/com/xworkz/internal/Waiter.java b/Interface/src/com/xworkz/internal/Waiter.java
new file mode 100644
index 0000000..6660542
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/Waiter.java
@@ -0,0 +1,5 @@
+package com.xworkz.internal;
+
+public interface Waiter {
+ void serve();
+}
diff --git a/Interface/src/com/xworkz/internal/WhatsApp.java b/Interface/src/com/xworkz/internal/WhatsApp.java
new file mode 100644
index 0000000..a7b4799
--- /dev/null
+++ b/Interface/src/com/xworkz/internal/WhatsApp.java
@@ -0,0 +1,6 @@
+package com.xworkz.internal;
+
+public interface WhatsApp {
+ void sendMessage();
+ boolean isOnline();
+}
diff --git a/Object/src/com/xworkz/Internal/Camera.java b/Object/src/com/xworkz/Internal/Camera.java
index fd28167..d16e83d 100644
--- a/Object/src/com/xworkz/Internal/Camera.java
+++ b/Object/src/com/xworkz/Internal/Camera.java
@@ -33,7 +33,8 @@ public String toString() {
}
public boolean equals(Object obj) {
- if (this == obj) return true;
+ if (this == obj) return
+ true;
if (obj instanceof Camera) {
Camera c = (Camera) obj;
return this.brand.equals(c.brand) &&
diff --git a/Object/src/com/xworkz/Internal/Carrom.java b/Object/src/com/xworkz/Internal/Carrom.java
new file mode 100644
index 0000000..d7a57af
--- /dev/null
+++ b/Object/src/com/xworkz/Internal/Carrom.java
@@ -0,0 +1,46 @@
+package com.xworkz.Internal;
+
+public class Carrom {
+ int price;
+ String size;
+ String white;
+ String black;
+ String queen;
+
+ public Carrom(int price, String size,String white, String black, String queen){
+ this.price=price;
+ this.size=size;
+ this.white=white;
+ this.black=black;
+ this.queen=queen;
+ System.out.println("All args Constructor" );
+
+ }
+ public String toString(){
+ return "{Carrom price:"+price+"Size:"+size+"White points:"+white+"Black Points:"+black+"Queen points:"+queen+"}";
+
+ }
+ public boolean equals(Object obj) {
+ if(this == obj)
+ return true;
+ if (obj instanceof Carrom ){
+ Carrom carrom2=(Carrom) obj;
+ return
+ this.price==(carrom2.price) &&
+ this.size.equals(carrom2.size) &&
+ this.white.equals(carrom2.white)&&
+ this.black.equals(carrom2.black) &&
+ this.queen.equals(carrom2.queen);
+ }
+ return false;
+ }
+
+ public int hashCode(){
+ int prime=7;
+ int result=1;
+ result=prime*result+ price;
+ return result;
+
+ }
+
+}
diff --git a/Object/src/com/xworkz/Runner/CarromRunner.java b/Object/src/com/xworkz/Runner/CarromRunner.java
new file mode 100644
index 0000000..29fd7b3
--- /dev/null
+++ b/Object/src/com/xworkz/Runner/CarromRunner.java
@@ -0,0 +1,17 @@
+package com.xworkz.Runner;
+
+import com.xworkz.Internal.Carrom;
+
+public class CarromRunner {
+ public static void main(String[] args){
+
+ Carrom carrom=new Carrom(2000,"30*30 inch","10 points","5 points","25 points");
+ System.out.println(carrom);
+
+ Carrom carrom1=new Carrom(2000,"30*30 inch","10 points","5 points","25 points");
+
+ System.out.println(carrom.equals(carrom1));
+ System.out.println(carrom.hashCode());
+ }
+
+}