From 9240342b366db9999f11659a1f1c396ba418ad78 Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Sat, 7 Jan 2023 18:51:03 +0100 Subject: Adds --- Year_2/SE/design_patterns/singleton/Logs.java | 10 ++++++++++ Year_2/SE/design_patterns/singleton/Main.java | 12 ++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 Year_2/SE/design_patterns/singleton/Logs.java create mode 100644 Year_2/SE/design_patterns/singleton/Main.java (limited to 'Year_2/SE/design_patterns') diff --git a/Year_2/SE/design_patterns/singleton/Logs.java b/Year_2/SE/design_patterns/singleton/Logs.java new file mode 100644 index 0000000..85deef9 --- /dev/null +++ b/Year_2/SE/design_patterns/singleton/Logs.java @@ -0,0 +1,10 @@ +public class Logs { + private static Logs log; + + private Logs(){} + + public static Logs getInstanceLogs() { + if(log == null) log = new Logs(); + return log; + } +} diff --git a/Year_2/SE/design_patterns/singleton/Main.java b/Year_2/SE/design_patterns/singleton/Main.java new file mode 100644 index 0000000..5d05cea --- /dev/null +++ b/Year_2/SE/design_patterns/singleton/Main.java @@ -0,0 +1,12 @@ +public class Main { + public static void main(String[] args) { + Logs l = Logs.getInstanceLogs(); + Logs l2 = Logs.getInstanceLogs(); + + // Prints "true" + System.out.println(l == l2); + + // Error, because the constructor is private + // Logs l3 = new Logs(); + } +} -- cgit v1.2.3-18-g5258