From 72b75a3300080e3c6a157953cb784913ab8e6a5b Mon Sep 17 00:00:00 2001 From: Dennis Ryumin Date: Sun, 13 Feb 2022 15:31:46 +0300 Subject: [PATCH] generic interfaces examle --- .gitignore | 45 ++++++++++++++++++++++ src/com/katapios/Main.java | 18 +++++++++ src/com/katapios/ModifierInterface.java | 7 ++++ src/com/katapios/NumberGeneratorClass.java | 17 ++++++++ 4 files changed, 87 insertions(+) create mode 100644 .gitignore create mode 100644 src/com/katapios/Main.java create mode 100644 src/com/katapios/ModifierInterface.java create mode 100644 src/com/katapios/NumberGeneratorClass.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a612090 --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +*.java.hsp +*.sonarj +*.sw* +.DS_Store +.settings +.springBeans +bin +build.sh +integration-repo +ivy-cache +jxl.log +jmx.log +derby.log +spring-test/test-output/ +.gradle +argfile* +activemq-data/ + + +/build +buildSrc/build +/spring-*/build +/spring-core/kotlin-coroutines/build +/framework-bom/build +/integration-tests/build +/src/asciidoc/build +target/ + +# Eclipse artifacts, including WTP generated manifests +.classpath +.project +spring-*/src/main/java/META-INF/MANIFEST.MF + +# IDEA artifacts and output dirs +*.iml +*.ipr +*.iws +.idea +out +test-output +atlassian-ide-plugin.xml +.gradletasknamecache + +# VS Code +.vscode/ \ No newline at end of file diff --git a/src/com/katapios/Main.java b/src/com/katapios/Main.java new file mode 100644 index 0000000..1ce6ac4 --- /dev/null +++ b/src/com/katapios/Main.java @@ -0,0 +1,18 @@ +package com.katapios; + +public class Main { + + public static void main(String[] args) { + + NumberGeneratorClass numberGeneratorClass = new NumberGeneratorClass(); + + ModifierInterface a = numberGeneratorClass::add; + ModifierInterface b = numberGeneratorClass::add; + ModifierInterface c = numberGeneratorClass::add; + + System.out.println(numberGeneratorClass.add(2)); + System.out.println(numberGeneratorClass.add(2.0)); + System.out.println(numberGeneratorClass.add("2")); + + } +} diff --git a/src/com/katapios/ModifierInterface.java b/src/com/katapios/ModifierInterface.java new file mode 100644 index 0000000..3d87ccc --- /dev/null +++ b/src/com/katapios/ModifierInterface.java @@ -0,0 +1,7 @@ +package com.katapios; + +public interface ModifierInterface { + + public T change(T obj); + +} diff --git a/src/com/katapios/NumberGeneratorClass.java b/src/com/katapios/NumberGeneratorClass.java new file mode 100644 index 0000000..7677b78 --- /dev/null +++ b/src/com/katapios/NumberGeneratorClass.java @@ -0,0 +1,17 @@ +package com.katapios; + +public class NumberGeneratorClass { + + public Integer add(Integer n){ + return n + 10; + } + + public Double add(Double n){ + return n + 10.0; + } + + public String add(String n){ + return "String " + n; + } + +}