feat(class25): 添加单例模式示例代码
- 新增 A 类和 B 类作为单例模式的示例 - 更新 .gitignore 文件,忽略 META-INF 和 MANIFEST.MF 文件 - 在项目设置中添加 Lombok 注解支持 - 修改 Test 类,注释掉 SilverCard 相关代码 - 新增 Test 类测试单例模式
This commit is contained in:
5
.gitignore
vendored
5
.gitignore
vendored
@@ -28,4 +28,7 @@ bin/
|
||||
.vscode/
|
||||
|
||||
### Mac OS ###
|
||||
.DS_Store
|
||||
.DS_Store
|
||||
|
||||
META-INF/
|
||||
MANIFEST.MF
|
||||
5
.idea/misc.xml
generated
5
.idea/misc.xml
generated
@@ -1,5 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="EntryPointsManager">
|
||||
<writeAnnotations>
|
||||
<writeAnnotation name="lombok.Getter" />
|
||||
</writeAnnotations>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<exclude-output />
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/.idea/artifacts" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
|
||||
@@ -8,8 +8,8 @@ public class Test {
|
||||
goldCard.deposit(1000);
|
||||
pay(goldCard);
|
||||
|
||||
SilverCard silverCard = new SilverCard("654321", "李四", 123456789, 5000);
|
||||
pay(silverCard);
|
||||
// SilverCard silverCard = new SilverCard("654321", "李四", 123456789, 5000);
|
||||
// pay(silverCard);
|
||||
}
|
||||
public static void pay(Card c){
|
||||
System.out.println("请刷卡,请输入您的消费金额:");
|
||||
|
||||
11
src/class25/A.java
Normal file
11
src/class25/A.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package class25;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
public class A {
|
||||
//单例类
|
||||
@Getter
|
||||
private static final A a = new A();
|
||||
private A(){}
|
||||
|
||||
}
|
||||
13
src/class25/B.java
Normal file
13
src/class25/B.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package class25;
|
||||
|
||||
public class B {
|
||||
private static B b;
|
||||
private B() {
|
||||
}
|
||||
public static B getInstance() {
|
||||
if (b == null) {
|
||||
b = new B();
|
||||
}
|
||||
return b;
|
||||
}
|
||||
}
|
||||
19
src/class25/Test.java
Normal file
19
src/class25/Test.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package class25;
|
||||
|
||||
public class Test {
|
||||
public static void main(String[] args) {
|
||||
A a = A.getA();
|
||||
A a2 = A.getA();
|
||||
System.out.println(a==a2);
|
||||
System.out.println(a.hashCode());
|
||||
System.out.println(a2.hashCode());
|
||||
System.out.println("================");
|
||||
B b = B.getInstance();
|
||||
B b1 = B.getInstance();
|
||||
System.out.println(b==b1);
|
||||
System.out.println(b.hashCode());
|
||||
System.out.println(b1.hashCode());
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user