diff --git a/src/com/katapios/GeneratorInterface.java b/src/com/katapios/GeneratorInterface.java new file mode 100644 index 0000000..aba6852 --- /dev/null +++ b/src/com/katapios/GeneratorInterface.java @@ -0,0 +1,8 @@ +package com.katapios; + +@FunctionalInterface +public interface GeneratorInterface { + + Object createNewObject(); + +} diff --git a/src/com/katapios/Main.java b/src/com/katapios/Main.java index 4e65157..a0c60e9 100644 --- a/src/com/katapios/Main.java +++ b/src/com/katapios/Main.java @@ -1,33 +1,21 @@ package com.katapios; +import java.util.Date; + public class Main { public static void main(String[] args) { - //making an instance - MakeMySocClass instSoc = new MakeMySocClass(); - - //link to interface - instance version - MakeSocInterface mySoc = instSoc::instanceSoc; - - String socClass = mySoc.drink(); - String socClass2 = mySoc.drink(); - String socClass3 = mySoc.drink(); - System.out.println(socClass); - System.out.println(socClass2); - System.out.println(socClass3); - - System.out.println(""); + //link to Date class constructor + GeneratorInterface generatorInterface = Date::new; - //link to interface - static version - MakeSocInterface statSoc = MakeMySocClass::staticSoc; + //create new instance of Date class + Object newObject = generatorInterface.createNewObject(); - String myStatSoc = statSoc.drink(); - String myStatSoc2 = statSoc.drink(); - String myStatSoc3 = statSoc.drink(); - System.out.println(myStatSoc); - System.out.println(myStatSoc2); - System.out.println(myStatSoc3); + //print date + System.out.println(newObject); + //print class name + System.out.println("\nclass name is: " + "'" + newObject.getClass() + "'"); } } diff --git a/src/com/katapios/MakeMySocClass.java b/src/com/katapios/MakeMySocClass.java deleted file mode 100644 index 94ff75a..0000000 --- a/src/com/katapios/MakeMySocClass.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.katapios; - -public class MakeMySocClass { - - private int instanceIter = 1; - private static int staticIter = 1; - - //instance - public String instanceSoc() { - return "Drink my instance sok " + instanceIter++; - } - - //static - public static String staticSoc() { - return "Drink my static sok " + staticIter++; - } - -} \ No newline at end of file diff --git a/src/com/katapios/MakeSocInterface.java b/src/com/katapios/MakeSocInterface.java deleted file mode 100644 index 0c67ca2..0000000 --- a/src/com/katapios/MakeSocInterface.java +++ /dev/null @@ -1,6 +0,0 @@ -package com.katapios; - -@FunctionalInterface -public interface MakeSocInterface { - String drink(); -} \ No newline at end of file