xerga 1 jaar geleden
bovenliggende
commit
21a1f03eb4
100 gewijzigde bestanden met toevoegingen van 2227 en 1 verwijderingen
  1. 3 0
      JavaSe01/.idea/modules.xml
  2. 0 1
      JavaSe01/day09/src/com/lc/day09/extends5/b/B.java
  3. 11 0
      JavaSe01/day10/day10.iml
  4. 16 0
      JavaSe01/day10/src/com/lc/day10/duotai/Man.java
  5. 16 0
      JavaSe01/day10/src/com/lc/day10/duotai/Person.java
  6. 16 0
      JavaSe01/day10/src/com/lc/day10/duotai/Student.java
  7. 29 0
      JavaSe01/day10/src/com/lc/day10/duotai/Test01.java
  8. 32 0
      JavaSe01/day10/src/com/lc/day10/duotai01/Pet.java
  9. 49 0
      JavaSe01/day10/src/com/lc/day10/duotai01/Test01.java
  10. 50 0
      JavaSe01/day10/src/com/lc/day10/duotai02/Test01.java
  11. 81 0
      JavaSe01/day10/src/com/lc/day10/duotai02/Test02.java
  12. 45 0
      JavaSe01/day10/src/com/lc/day10/exer01/Test01.java
  13. 94 0
      JavaSe01/day10/src/com/lc/day10/home/CreditCard.java
  14. 81 0
      JavaSe01/day10/src/com/lc/day10/home/DepositCard.java
  15. 51 0
      JavaSe01/day10/src/com/lc/day10/home/TestHomeWork.java
  16. 34 0
      JavaSe01/day10/src/com/lc/day10/instance01/Dog.java
  17. 69 0
      JavaSe01/day10/src/com/lc/day10/super01/Test01.java
  18. 40 0
      JavaSe01/day10/src/com/lc/day10/this01/Person.java
  19. 29 0
      JavaSe01/day10/src/com/lc/day10/this01/TestThis.java
  20. 11 0
      JavaSe01/day11/day11.iml
  21. 42 0
      JavaSe01/day11/src/com/lc/day11/exer01/Order.java
  22. 16 0
      JavaSe01/day11/src/com/lc/day11/exer01/OrderUtils.java
  23. 25 0
      JavaSe01/day11/src/com/lc/day11/exer01/TestOrder.java
  24. 31 0
      JavaSe01/day11/src/com/lc/day11/exer02/Exercise10.java
  25. 34 0
      JavaSe01/day11/src/com/lc/day11/exer02/Exercise8.java
  26. 46 0
      JavaSe01/day11/src/com/lc/day11/exer03/Test08.java
  27. 21 0
      JavaSe01/day11/src/com/lc/day11/exer04/Test10.java
  28. 11 0
      JavaSe01/day11/src/com/lc/day11/obj01/Person.java
  29. 40 0
      JavaSe01/day11/src/com/lc/day11/obj01/Test01.java
  30. 23 0
      JavaSe01/day11/src/com/lc/day11/obj02/Person.java
  31. 39 0
      JavaSe01/day11/src/com/lc/day11/obj02/Test01.java
  32. 23 0
      JavaSe01/day11/src/com/lc/day11/obj03/Person.java
  33. 30 0
      JavaSe01/day11/src/com/lc/day11/obj03/Test.java
  34. 23 0
      JavaSe01/day11/src/com/lc/day11/obj04/Person.java
  35. 18 0
      JavaSe01/day11/src/com/lc/day11/obj04/Test01.java
  36. 52 0
      JavaSe01/day11/src/com/lc/day11/test/Test.java
  37. 11 0
      JavaSe01/day12/day12.iml
  38. 30 0
      JavaSe01/day12/src/com/lc/day12/abs01/Animal.java
  39. 24 0
      JavaSe01/day12/src/com/lc/day12/abs01/Cat.java
  40. 17 0
      JavaSe01/day12/src/com/lc/day12/abs01/Dog.java
  41. 15 0
      JavaSe01/day12/src/com/lc/day12/abs01/HabaDog.java
  42. 33 0
      JavaSe01/day12/src/com/lc/day12/abs01/Test01.java
  43. 15 0
      JavaSe01/day12/src/com/lc/day12/abs02/DongBei.java
  44. 30 0
      JavaSe01/day12/src/com/lc/day12/abs02/RouJiaMouTmpelate.java
  45. 15 0
      JavaSe01/day12/src/com/lc/day12/abs02/ShanXi.java
  46. 23 0
      JavaSe01/day12/src/com/lc/day12/abs02/Test.java
  47. 83 0
      JavaSe01/day12/src/com/lc/day12/exer01/Student.java
  48. 45 0
      JavaSe01/day12/src/com/lc/day12/exer01/TestStudent.java
  49. 37 0
      JavaSe01/day12/src/com/lc/day12/exer02/Test.java
  50. 64 0
      JavaSe01/day12/src/com/lc/day12/exer03/Test04.java
  51. 17 0
      JavaSe01/day12/src/com/lc/day12/exer04/Test01.java
  52. 22 0
      JavaSe01/day12/src/com/lc/day12/exer04/Test02.java
  53. 14 0
      JavaSe01/day12/src/com/lc/day12/exer05/A.java
  54. 13 0
      JavaSe01/day12/src/com/lc/day12/exer05/B.java
  55. 27 0
      JavaSe01/day12/src/com/lc/day12/exer05/C.java
  56. 28 0
      JavaSe01/day12/src/com/lc/day12/exer05/Test01.java
  57. 20 0
      JavaSe01/day12/src/com/lc/day12/exer06/Duck.java
  58. 41 0
      JavaSe01/day12/src/com/lc/day12/exer06/Poultry.java
  59. 20 0
      JavaSe01/day12/src/com/lc/day12/exer06/Test.java
  60. 42 0
      JavaSe01/day12/src/com/lc/day12/final01/Person.java
  61. 20 0
      JavaSe01/day12/src/com/lc/day12/interface01/AudiCar.java
  62. 41 0
      JavaSe01/day12/src/com/lc/day12/interface01/CarInterface.java
  63. 30 0
      JavaSe01/day12/src/com/lc/day12/interface01/Test.java
  64. 53 0
      JavaSe01/day12/src/com/lc/day12/span/Person.java
  65. 36 0
      JavaSe01/day12/src/com/lc/day12/span/Test01.java
  66. 60 0
      JavaSe01/day12/src/com/lc/day12/static01/Person.java
  67. 31 0
      JavaSe01/day12/src/com/lc/day12/static01/Test.java
  68. 39 0
      JavaSe01/day12/src/com/lc/day12/static01/TestPerson.java
  69. BIN
      JavaSe01/out/production/day09/com/lc/day09/extends5/b/B.class
  70. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai/Man.class
  71. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai/Person.class
  72. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai/Student.class
  73. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai/Test01.class
  74. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai01/Animal.class
  75. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai01/Cat.class
  76. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai01/Dog.class
  77. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai01/Pet.class
  78. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai01/Test01.class
  79. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai02/A.class
  80. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai02/Animal.class
  81. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai02/B.class
  82. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai02/Cat.class
  83. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai02/Dog.class
  84. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai02/Test01.class
  85. BIN
      JavaSe01/out/production/day10/com/lc/day10/duotai02/Test02.class
  86. BIN
      JavaSe01/out/production/day10/com/lc/day10/exer01/Circle.class
  87. BIN
      JavaSe01/out/production/day10/com/lc/day10/exer01/Shape.class
  88. BIN
      JavaSe01/out/production/day10/com/lc/day10/exer01/Square.class
  89. BIN
      JavaSe01/out/production/day10/com/lc/day10/exer01/Test01.class
  90. BIN
      JavaSe01/out/production/day10/com/lc/day10/exer01/Triangle.class
  91. BIN
      JavaSe01/out/production/day10/com/lc/day10/home/CreditCard.class
  92. BIN
      JavaSe01/out/production/day10/com/lc/day10/home/DepositCard.class
  93. BIN
      JavaSe01/out/production/day10/com/lc/day10/home/TestHomeWork.class
  94. BIN
      JavaSe01/out/production/day10/com/lc/day10/instance01/Animal.class
  95. BIN
      JavaSe01/out/production/day10/com/lc/day10/instance01/Creature.class
  96. BIN
      JavaSe01/out/production/day10/com/lc/day10/instance01/Dog.class
  97. BIN
      JavaSe01/out/production/day10/com/lc/day10/super01/A.class
  98. BIN
      JavaSe01/out/production/day10/com/lc/day10/super01/B.class
  99. BIN
      JavaSe01/out/production/day10/com/lc/day10/super01/Test01.class
  100. BIN
      JavaSe01/out/production/day10/com/lc/day10/this01/A.class

+ 3 - 0
JavaSe01/.idea/modules.xml

@@ -10,6 +10,9 @@
       <module fileurl="file://$PROJECT_DIR$/day07/day07.iml" filepath="$PROJECT_DIR$/day07/day07.iml" />
       <module fileurl="file://$PROJECT_DIR$/day08/day08.iml" filepath="$PROJECT_DIR$/day08/day08.iml" />
       <module fileurl="file://$PROJECT_DIR$/day09/day09.iml" filepath="$PROJECT_DIR$/day09/day09.iml" />
+      <module fileurl="file://$PROJECT_DIR$/day10/day10.iml" filepath="$PROJECT_DIR$/day10/day10.iml" />
+      <module fileurl="file://$PROJECT_DIR$/day11/day11.iml" filepath="$PROJECT_DIR$/day11/day11.iml" />
+      <module fileurl="file://$PROJECT_DIR$/day12/day12.iml" filepath="$PROJECT_DIR$/day12/day12.iml" />
     </modules>
   </component>
 </project>

+ 0 - 1
JavaSe01/day09/src/com/lc/day09/extends5/b/B.java

@@ -13,6 +13,5 @@ public class B extends A {
 
     public void test(){
         System.out.println(id);
-
     }
 }

+ 11 - 0
JavaSe01/day10/day10.iml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="jdk" jdkName="17" jdkType="JavaSDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 16 - 0
JavaSe01/day10/src/com/lc/day10/duotai/Man.java

@@ -0,0 +1,16 @@
+package com.lc.day10.duotai;
+
+/**
+ * ClassName: Son
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 14:29
+ * @Version 1.0
+ */
+public class Man extends Person {
+
+    @Override
+    public void m() {
+        System.out.println("Man method");
+    }
+}

+ 16 - 0
JavaSe01/day10/src/com/lc/day10/duotai/Person.java

@@ -0,0 +1,16 @@
+package com.lc.day10.duotai;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 14:24
+ * @Version 1.0
+ */
+public class Person {
+
+    public void m(){
+        System.out.println("Person method" );
+    }
+
+}

+ 16 - 0
JavaSe01/day10/src/com/lc/day10/duotai/Student.java

@@ -0,0 +1,16 @@
+package com.lc.day10.duotai;
+
+/**
+ * ClassName: Student
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 14:24
+ * @Version 1.0
+ */
+public class Student extends Person{
+
+    public void m(){
+        System.out.println("Student method" );
+    }
+
+}

+ 29 - 0
JavaSe01/day10/src/com/lc/day10/duotai/Test01.java

@@ -0,0 +1,29 @@
+package com.lc.day10.duotai;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 14:25
+ * @Version 1.0
+ */
+public class Test01 {
+    public static void main(String[] args) {
+        //多态的使用
+        Person person = new Student();
+
+        //重点在方法的调用
+        person.m(); // ? 在调用的时候 确定子类 运行。
+        //执行的是子类的。
+
+        // 在编译的时候 是使用的父类的方法。
+        // 在运行的时候 执行的子类的方法。
+
+        // Person person = new Student();
+        // 编译看 person  (左边) 声明
+        // 运行看右边 Student(); (右边)。
+
+        Person person1 = new Man();
+        person1.m(); // 在调用的时候 确定子类 运行。 man method
+    }
+}

+ 32 - 0
JavaSe01/day10/src/com/lc/day10/duotai01/Pet.java

@@ -0,0 +1,32 @@
+package com.lc.day10.duotai01;
+
+/**
+ * ClassName: Pet
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 15:13
+ * @Version 1.0
+ */
+public class Pet {
+
+    //多态当作参数使用
+    public void adopt( Animal animal ){
+        //父类类型
+        // animal = new Dog()
+        animal.info();
+    }
+
+
+    //返回值使用
+    //要一个宠物。
+    public Animal make(int numebr){
+        if (numebr == 1){
+            return new Dog();
+        }else if (numebr == 2){
+            return new Cat();
+        }else {
+            return null;
+        }
+    }
+
+}

+ 49 - 0
JavaSe01/day10/src/com/lc/day10/duotai01/Test01.java

@@ -0,0 +1,49 @@
+package com.lc.day10.duotai01;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 15:11
+ * @Version 1.0
+ */
+public class Test01 {
+    public static void main(String[] args) {
+        Pet pet = new Pet();
+
+        //看具体传入的子类
+        Dog dog = new Dog();
+
+        Cat cat = new Cat();
+
+        //参数可以是Animal子类就可以
+        pet.adopt(cat);
+
+        //Animal animal new Dog();
+
+        Animal animal = pet.make((int) (Math.random() * 2) + 1);
+
+        System.out.println(animal);
+    }
+}
+
+class Animal{
+    public void info(){
+        System.out.println("Animal");
+    }
+}
+
+class Cat extends Animal {
+
+    @Override
+    public void info() {
+        System.out.println("小猫一只");
+    }
+}
+
+class Dog extends Animal {
+    @Override
+    public void info() {
+        System.out.println("小狗一条");
+    }
+}

+ 50 - 0
JavaSe01/day10/src/com/lc/day10/duotai02/Test01.java

@@ -0,0 +1,50 @@
+package com.lc.day10.duotai02;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 16:03
+ * @Version 1.0
+ */
+public class Test01 {
+
+    public static void main(String[] args) {
+
+        A a1 = new B();
+
+        System.out.println(a1.id); // ? 使用子类
+
+        a1.m1(); //因为父类中有声明m1
+
+        //a1.m2(); //因为父类中有声明m2 编译的时候父类没有。
+
+        //子类的独有的属性方法。不能调用 缺点。
+
+        B b = new B();
+        b.m2();
+        System.out.println(b.id);
+
+    }
+}
+class A {
+
+    int id = 1;
+
+    public void m1(){
+        System.out.println("A method");
+    }
+
+}
+class B extends A{
+
+    int id = 2;
+
+    public void m1(){
+        System.out.println("B method1");
+    }
+
+    public void m2(){
+        System.out.println("B method2");
+    }
+}

+ 81 - 0
JavaSe01/day10/src/com/lc/day10/duotai02/Test02.java

@@ -0,0 +1,81 @@
+package com.lc.day10.duotai02;
+
+/**
+ * ClassName: Test02
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 16:14
+ * @Version 1.0
+ */
+public class Test02 {
+
+    public static void main(String[] args) {
+
+        //向上转换
+        Animal a1 = new Cat();
+        System.out.println(a1.name);
+        a1.eat();
+
+        //a1.catchMouse(); //不能调用
+
+        //向下转换、
+        Cat cat = (Cat) a1;
+
+        System.out.println(cat.name);
+        cat.catchMouse();
+        cat.eat();
+
+        //问题。
+        //Dog dog = (Dog) a1;
+
+        //转换异常  ClassCastException
+        System.out.println("-------------");
+        //关键字
+        if ( a1 instanceof Cat ){
+            Cat c1 = (Cat) a1;
+            c1.catchMouse();
+        }
+        System.out.println("---------------");
+        if (a1 instanceof Dog){ // false
+            Dog d1 = (Dog) a1;
+            d1.play();
+        }else{
+            System.out.println("不能转换成Dog");
+        }
+
+        // instanceof 检查数据类型。 相同返回true 不相同返回false
+
+
+    }
+}
+class Animal{
+    String name = "动物";
+
+    public void eat(){
+        System.out.println("动物吃饭");
+    }
+}
+
+class  Dog extends Animal{
+    String name = "小狗";
+
+    public void eat(){
+        System.out.println("小狗吃饭");
+    }
+
+    public void play(){
+        System.out.println("玩皮球");
+    }
+}
+
+class  Cat extends Animal{
+    String name = "小猫";
+
+    public void eat(){
+        System.out.println("小猫吃饭");
+    }
+
+    public void catchMouse(){
+        System.out.println("抓耗子");
+    }
+}

+ 45 - 0
JavaSe01/day10/src/com/lc/day10/exer01/Test01.java

@@ -0,0 +1,45 @@
+package com.lc.day10.exer01;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 15:04
+ * @Version 1.0
+ */
+public class Test01 {
+    public static void main(String[] args) {
+
+        //父类类型  子类对象
+        Shape s1 = new Triangle();
+        Shape s2 = new Circle();
+        Shape s3 = new Square();
+
+        //调用方法
+        s1.draw();
+        s2.draw();
+        s3.draw();
+
+    }
+}
+class Shape {
+  void draw() {}
+}
+
+class Circle extends Shape {
+  void draw() {
+    System.out.println("Circle.draw()");
+  }
+}
+
+class Square extends Shape {
+  void draw() {
+    System.out.println("Square.draw()");
+  }
+}
+
+class Triangle extends Shape {
+  void draw() {
+    System.out.println("Triangle.draw()");
+  }
+}

+ 94 - 0
JavaSe01/day10/src/com/lc/day10/home/CreditCard.java

@@ -0,0 +1,94 @@
+package com.lc.day10.home;
+
+/**
+ * ClassName: CreditCard
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 9:27
+ * @Version 1.0
+ */
+public class CreditCard extends DepositCard {
+    //可透支额度
+    private double monthOverdraw;
+    //已透支
+    private double overdraw;
+
+    public CreditCard(double monthOverdraw, double overdraw, String account , double money) {
+        //调用super赋值
+        super(account,money);
+
+        this.monthOverdraw = monthOverdraw;
+        this.overdraw = overdraw;
+    }
+
+    public CreditCard(double monthOverdraw, double overdraw) {
+        this.monthOverdraw = monthOverdraw;
+        this.overdraw = overdraw;
+    }
+
+    public CreditCard() {
+    }
+
+    /**
+     * 重写 取钱方法
+     * @param money 余额
+     */
+    @Override
+    public void withdraw(double money) {
+        //- 取款金额超过账户余额+本月还可透支额度,提示超过可透支额度
+        if ( money > (getMoney() + this.monthOverdraw ) ){
+            System.out.println("超过可透支额度");
+        } else if (money < getMoney()){
+            //获取额度
+            double m1 = getMoney();
+            //减去花费额度 重新设置到 储蓄卡 余额
+            setMoney(m1 - money);
+        }else if ( money > getMoney() ){
+            //获取额度
+            double m1 = getMoney();
+            //透支的
+            double m2 = money - m1;
+
+            //设置额度为0
+            setMoney(0);
+
+            this.overdraw = m2;
+        }
+    }
+
+    @Override
+    public void save(double money) {
+        //- 存款金额不能为负数,否则提示存款金额不能为负数
+        if ( money < 0 ){
+            System.out.println("存款金额不能为负数");
+        }if ( money <= overdraw ){  //- 本次存款金额只够偿还部分已透支金额
+            this.overdraw -= money;
+        }else if (money > overdraw){//- 本次存款金额除了偿还透支金额,还有剩余
+
+            double v = money - overdraw;
+            this.overdraw = 0;
+            //加余额
+            setMoney(v+getMoney());
+        }
+    }
+
+    public double getOverdraw() {
+        return overdraw;
+    }
+
+    public void setOverdraw(double overdraw) {
+        this.overdraw = overdraw;
+    }
+
+    public double getMonthOverdraw() {
+        return monthOverdraw;
+    }
+
+    public void setMonthOverdraw(double monthOverdraw) {
+        this.monthOverdraw = monthOverdraw;
+    }
+
+    public String getInfo(){
+        return "{ 账户:"+getAccount()+" , 余额: "+getMoney()+" , 已透支额度:"+overdraw+" ,月透支额度:"+monthOverdraw+"}";
+    }
+}

+ 81 - 0
JavaSe01/day10/src/com/lc/day10/home/DepositCard.java

@@ -0,0 +1,81 @@
+package com.lc.day10.home;
+
+/**
+ * ClassName: DepositCard
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 9:20
+ * @Version 1.0
+ */
+public class DepositCard {
+    //账户,余额,属性私有化
+    private String account;
+
+    private double money;
+
+    public DepositCard() {
+    }
+
+    public DepositCard(String account, double money) {
+        this.account = account;
+        this.money = money;
+    }
+
+
+    /**
+     * 取款方法
+     * @param money 余额
+     */
+    public void withdraw(double money){
+        //- 取款金额不能为负数,否则提示取款金额不能为负数
+        //- 取款金额不能超过账户余额,否则提示余额不足
+        if (money < 0){
+            System.out.println("取款金额不能为负数");
+            return;
+        }
+
+        if (money > this.money){
+            System.out.println("余额不足");
+            return;
+        }
+
+        //减去余额
+        this.money -= money;
+    }
+
+
+    /**
+     * 存款方法
+     * @param money
+     */
+    public void save(double money){
+        if (money < 0){
+            System.out.println("存款金额不能为负数");
+        }
+        this.money += money;
+    }
+
+    /**
+     * 信息
+     * @return
+     */
+    public String getInfo(){
+        return "{ 账户:"+account+" , 余额: "+money+" }";
+    }
+
+    public String getAccount() {
+        return account;
+    }
+
+    public void setAccount(String account) {
+        this.account = account;
+    }
+
+    public double getMoney() {
+        return money;
+    }
+
+    public void setMoney(double money) {
+        this.money = money;
+    }
+}

+ 51 - 0
JavaSe01/day10/src/com/lc/day10/home/TestHomeWork.java

@@ -0,0 +1,51 @@
+package com.lc.day10.home;
+
+/**
+ * ClassName: HomeWork
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 9:19
+ * @Version 1.0
+ */
+public class TestHomeWork {
+
+    public static void main(String[] args) {
+
+
+        DepositCard depositCard = new DepositCard("10001",2000);
+
+//        depositCard.withdraw(1800);
+//
+//        System.out.println(depositCard.getInfo());
+//
+//        depositCard.withdraw(300);
+//
+//        depositCard.save(200);
+//
+//        System.out.println(depositCard.getInfo());
+
+        //信用卡
+        CreditCard creditCard = new CreditCard();
+
+        creditCard.setAccount("10002");
+        creditCard.setMoney(2000);
+        creditCard.setMonthOverdraw(1000);
+        // -1800
+        creditCard.withdraw(1800);
+
+        System.out.println(creditCard.getInfo());
+        // - 600
+        creditCard.withdraw(600);
+
+        System.out.println(creditCard.getInfo());
+        // 余额 200
+        creditCard.save(600);
+
+        System.out.println(creditCard.getInfo());
+
+        creditCard.save(1400);
+
+        System.out.println(creditCard.getInfo());
+
+    }
+}

+ 34 - 0
JavaSe01/day10/src/com/lc/day10/instance01/Dog.java

@@ -0,0 +1,34 @@
+package com.lc.day10.instance01;
+
+/**
+ * ClassName: Dog
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 14:03
+ * @Version 1.0
+ */
+class Creature {
+    public Creature() {
+        //spuer() object
+        System.out.println("Creature无参数的构造器-1");
+    }
+}
+class Animal extends Creature {
+    public Animal(String name) {
+        //super()
+        System.out.println("Animal-2 带一个参数的构造器,该动物的name为" + name);
+    }
+    public Animal(String name, int age) {
+        this(name);
+        System.out.println("Animal-3 带两个参数的构造器,其age为" + age);
+    }
+}
+public class Dog extends Animal {
+    public Dog() {
+        super("汪汪队阿奇", 3);
+        System.out.println("Dog无参数的构造器-4");
+    }
+    public static void main(String[] args) {
+        new Dog();
+    }
+}

+ 69 - 0
JavaSe01/day10/src/com/lc/day10/super01/Test01.java

@@ -0,0 +1,69 @@
+package com.lc.day10.super01;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 11:29
+ * @Version 1.0
+ */
+public class Test01 {
+
+    public static void main(String[] args) {
+        B b = new B();
+
+//        b.m2();
+//        b.m3();
+    }
+}
+class A{
+    String name = "tom";
+
+    public A(String name){
+        //super()  Obiect  必须在第一行 想完成子类的初始化,先完成父类的初始化。
+        //this() 第一行 只能选择一个。
+        this.name = name;
+
+        System.out.println(this.name);
+        System.out.println(this);
+    }
+
+    public A() {
+        System.out.println("父类的构造方法执行");
+    }
+
+    public void m1(){
+        System.out.println("A m1");
+    }
+}
+
+class B extends A {
+
+    String name = "kunkun";
+
+    public B() {
+        //调用构造方法
+        //格式
+        //super(); //调用父类无参的 可以省略 隐式的suoer()
+        super("fengfeng");
+
+
+    }
+
+    public void m2(){
+        System.out.println(this.name); //本类的
+        System.out.println(super.name); //父类的 super调用属性 区分父类子类同名属性
+    }
+
+    @Override
+    public void m1() {
+        System.out.println("B m1");
+    }
+
+    public void m3() {
+        this.m1();
+        super.m1(); //重写后 调用父类的方法 使用super
+    }
+
+
+}

+ 40 - 0
JavaSe01/day10/src/com/lc/day10/this01/Person.java

@@ -0,0 +1,40 @@
+package com.lc.day10.this01;
+
+/**
+ * ClassName: Pserson
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 11:16
+ * @Version 1.0
+ */
+public class Person {
+    //this
+
+    private String name;
+
+    public void printInfo(){
+//        System.out.println("name:"+ this.name); // 通常省略
+        System.out.println("name:"+ name); // 通常省略
+    }
+
+    public void method(){
+        //this.printInfo(); // // 通常省略
+        System.out.println(this); // 谁调用代表谁。当前对象
+    }
+
+    public static void main(String[] args) {
+        Person person = new Person();
+        //地址
+        System.out.println(person);
+
+        person.name = "tom";
+
+        //this调用属性
+        person.printInfo();
+        //this调用方法
+        person.method(); //this
+
+
+    }
+
+}

+ 29 - 0
JavaSe01/day10/src/com/lc/day10/this01/TestThis.java

@@ -0,0 +1,29 @@
+package com.lc.day10.this01;
+
+/**
+ * ClassName: TestThis
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/10/29 11:24
+ * @Version 1.0
+ */
+public class TestThis {
+
+    public static void main(String[] args) {
+        B b = new B();
+        // 创建 new B()
+        // 都是b对象
+    }
+}
+
+class A {
+    public A() {
+        System.out.println(this);
+    }
+}
+
+class B extends A {
+    public B() {
+        System.out.println(this); // B@41629346
+    }
+}

+ 11 - 0
JavaSe01/day11/day11.iml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="jdk" jdkName="17" jdkType="JavaSDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 42 - 0
JavaSe01/day11/src/com/lc/day11/exer01/Order.java

@@ -0,0 +1,42 @@
+package com.lc.day11.exer01;
+
+/**
+ * ClassName: Order
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 15:22
+ * @Version 1.0
+ */
+public class Order {
+    int orderId;
+    String orderName;
+
+    public Order() {
+    }
+
+    public Order(int orderId, String orderName) {
+        this.orderId = orderId;
+        this.orderName = orderName;
+    }
+
+    //public boolean equals(Object obj)
+
+    /**
+     *  比较订单id, 订单名称。
+     *
+     *  当前订单 this
+     *  传入 obj   强转转换 比较
+     *
+     * @param obj
+     * @return
+     */
+    public boolean equals(Object obj){
+        //  obj instanceof Order 是 用aObj接收
+        //  转换 Order aObj = (Order) obj
+        if ( obj instanceof Order aObj ){
+            return this.orderId == aObj.orderId && this.orderName.equals(aObj.orderName);
+        }
+        return false;
+    }
+
+}

+ 16 - 0
JavaSe01/day11/src/com/lc/day11/exer01/OrderUtils.java

@@ -0,0 +1,16 @@
+package com.lc.day11.exer01;
+
+/**
+ * ClassName: OrderUtils
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 15:33
+ * @Version 1.0
+ */
+public class OrderUtils {
+
+    public static boolean equals( Order o1 , Order o2 ){
+        return o1.orderId == o2.orderId && o1.orderName.equals(o2.orderName);
+    }
+
+}

+ 25 - 0
JavaSe01/day11/src/com/lc/day11/exer01/TestOrder.java

@@ -0,0 +1,25 @@
+package com.lc.day11.exer01;
+
+/**
+ * ClassName: TestOrder
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 15:22
+ * @Version 1.0
+ */
+public class TestOrder {
+    public static void main(String[] args) {
+
+        Order o1 = new Order(1002,"手机");
+        Order o2 = new Order(1001,"手机");
+
+        boolean equals = o1.equals(o2);
+
+        // 没有重写用的是 ==
+        // 重写 重写规则。
+        System.out.println(equals);
+
+        boolean equals1 = OrderUtils.equals(o1, o2);
+        System.out.println(equals1);
+    }
+}

+ 31 - 0
JavaSe01/day11/src/com/lc/day11/exer02/Exercise10.java

@@ -0,0 +1,31 @@
+package com.lc.day11.exer02;
+
+/**
+ * ClassName: Exercise10
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 16:42
+ * @Version 1.0
+ */
+public class Exercise10 {
+    public static void main(String[] args) {
+        new A(new B());
+    }
+}
+
+class A {
+    public A() {
+        System.out.println("A");
+    }
+
+    public A(B b) {
+        this();
+        System.out.println("AB");
+    }
+}
+
+class B {
+    public B() {
+        System.out.println("B");
+    }
+}

+ 34 - 0
JavaSe01/day11/src/com/lc/day11/exer02/Exercise8.java

@@ -0,0 +1,34 @@
+package com.lc.day11.exer02;
+
+/**
+ * ClassName: Exercise8
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 16:41
+ * @Version 1.0
+ */
+public class Exercise8 {
+    public static void main(String[] args) {
+        new Child("mike");
+    }}
+class People {
+    private String name;
+
+    public People() {
+        System.out.print("1");
+    }
+
+    public People(String name) {
+        System.out.print("2");
+        this.name = name;
+    }}
+class Child extends People {
+    People father;
+
+    public Child(String name) {
+        System.out.print("3");
+        father = new People(name + " F");
+    }
+    public Child() {
+        System.out.print("4");
+    }}

+ 46 - 0
JavaSe01/day11/src/com/lc/day11/exer03/Test08.java

@@ -0,0 +1,46 @@
+package com.lc.day11.exer03;
+
+/**
+ * ClassName: Test08
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 16:45
+ * @Version 1.0
+ */
+public class Test08 {
+    public static void main(String[] args) {
+        A a1 = new A();
+        A a2 = new B();
+        B b = new B();
+        C c = new C();
+        D d = new D();
+        System.out.println("(1)" + a1.show(b));
+        System.out.println("(2)" + a2.show(d));
+        System.out.println("(3)" + b.show(c));
+        System.out.println("(4)" + b.show(d));
+    }
+}
+class A{
+    public String show(D obj){
+        return ("A and D");
+    }
+    public String show(A obj){
+        return "A and A";
+    }
+}
+class B extends A{
+    public String show(B obj){
+        return "B and B";
+    }
+    //重写
+    public String show(A obj){
+        return "B and A";
+    }
+
+}
+class C extends B{
+
+}
+class D extends B{
+
+}

+ 21 - 0
JavaSe01/day11/src/com/lc/day11/exer04/Test10.java

@@ -0,0 +1,21 @@
+package com.lc.day11.exer04;
+
+/**
+ * ClassName: Test10
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 16:49
+ * @Version 1.0
+ */
+public class Test10 {
+    public static void main(String[] args) {
+        Base b = new Sub();
+        System.out.println(b.x);
+    }
+}
+class Base{
+    int x = 1;
+}
+class Sub extends Base{
+    int x = 2;
+}

+ 11 - 0
JavaSe01/day11/src/com/lc/day11/obj01/Person.java

@@ -0,0 +1,11 @@
+package com.lc.day11.obj01;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 14:33
+ * @Version 1.0
+ */
+public class Person {
+}

+ 40 - 0
JavaSe01/day11/src/com/lc/day11/obj01/Test01.java

@@ -0,0 +1,40 @@
+package com.lc.day11.obj01;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 14:27
+ * @Version 1.0
+ */
+public class Test01 {
+
+    public static void main(String[] args) {
+
+        Person person1 = new Person();
+        Person person2 = new Person();
+
+        //person调用equlse
+
+        //来源在Object中 继承Object
+        System.out.println(person1); //地址
+        System.out.println(person2);
+        System.out.println(person1.equals(person2));
+
+        // ? 结果  false
+
+        /*源码 */
+
+
+        String a1 = "hello";
+        String a2 = "hello world";
+
+        a1.equals(a2);  //false
+
+        /* 看 源码 */
+        // this == object
+
+
+
+    }
+}

+ 23 - 0
JavaSe01/day11/src/com/lc/day11/obj02/Person.java

@@ -0,0 +1,23 @@
+package com.lc.day11.obj02;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 15:53
+ * @Version 1.0
+ */
+public class Person {
+
+    String name;
+
+    int age;
+
+    @Override // 重写
+    public String toString() {
+        return "Person{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                '}';
+    }
+}

+ 39 - 0
JavaSe01/day11/src/com/lc/day11/obj02/Test01.java

@@ -0,0 +1,39 @@
+package com.lc.day11.obj02;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 15:53
+ * @Version 1.0
+ */
+public class Test01 {
+    public static void main(String[] args) {
+
+        Person p1 = new Person();
+
+        //调用方法
+        System.out.println(p1.toString());
+        //com.lc.day11.obj02.Person@3b07d329
+
+        //没有调用方法
+        System.out.println(p1);
+        //com.lc.day11.obj02.Person@3b07d329  ???
+
+        //Person{name='null', age=0}
+
+
+        //println
+        //调用 toString ??
+
+        // toString 展示类结构信息
+
+        // 展示  属性
+
+        String a = new String("123") ;
+        System.out.println(a);
+
+        String s = String.valueOf("234");
+
+    }
+}

+ 23 - 0
JavaSe01/day11/src/com/lc/day11/obj03/Person.java

@@ -0,0 +1,23 @@
+package com.lc.day11.obj03;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 15:53
+ * @Version 1.0
+ */
+
+//
+public class Person implements Cloneable {
+
+    String name;
+
+    int age;
+
+
+    @Override
+    protected Object clone() throws CloneNotSupportedException {
+        return super.clone();
+    }
+}

+ 30 - 0
JavaSe01/day11/src/com/lc/day11/obj03/Test.java

@@ -0,0 +1,30 @@
+package com.lc.day11.obj03;
+
+/**
+ * ClassName: Test
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 16:25
+ * @Version 1.0
+ */
+public class Test {
+
+    public static void main(String[] args) throws CloneNotSupportedException {
+        Person p1 = new Person();
+
+        p1.name = "kk";
+        p1.age = 22;
+
+        Object clone = p1.clone();
+
+        System.out.println(clone);
+
+        Person p2 = (Person) clone;
+
+        System.out.println(p2.age);
+        System.out.println(p2.name);
+
+        //克隆一份。
+        System.out.println(p2);
+    }
+}

+ 23 - 0
JavaSe01/day11/src/com/lc/day11/obj04/Person.java

@@ -0,0 +1,23 @@
+package com.lc.day11.obj04;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 15:53
+ * @Version 1.0
+ */
+
+//
+public class Person  {
+
+    String name;
+
+    int age;
+
+    @Override
+    protected void finalize() throws Throwable {
+        System.out.println("被回收");
+        super.finalize();
+    }
+}

+ 18 - 0
JavaSe01/day11/src/com/lc/day11/obj04/Test01.java

@@ -0,0 +1,18 @@
+package com.lc.day11.obj04;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/1 16:32
+ * @Version 1.0
+ */
+public class Test01 {
+    public static void main(String[] args) {
+
+        while (true){
+            new Person();
+        }
+
+    }
+}

+ 52 - 0
JavaSe01/day11/src/com/lc/day11/test/Test.java

@@ -0,0 +1,52 @@
+package com.lc.day11.test;
+
+/**
+ * ClassName: Test
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/3 9:01
+ * @Version 1.0
+ */
+public class Test {
+    public static void main(String[] args) {
+        Fu zi = new Zi();
+        System.out.println(Fu.i);
+        System.out.println(zi.j);
+
+        Zi z = (Zi) zi;
+        System.out.println(z.k);
+        System.out.println(z.h);
+    }
+}
+class Fu{
+    public static int i = getNum();
+    public int j = getNum();
+    static{
+        System.out.println("父类静态代码块");;
+    }
+    {
+        System.out.println("父类非静态代码块");
+    }
+    Fu(){
+        System.out.println("父类构造器");
+    }
+    public static int getNum(){
+        return ++i;
+    }
+}
+class Zi extends Fu{
+    public static int k = getNum();
+    public int h = getNum();
+    static{
+        System.out.println("子类静态代码块");
+    }
+    {
+        System.out.println("子类非静态代码块,又称为构造代码块");
+    }
+    Zi(){
+        System.out.println("子类构造器");
+    }
+    public static int getNum(){
+        return k++;
+    }
+}

+ 11 - 0
JavaSe01/day12/day12.iml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+    </content>
+    <orderEntry type="jdk" jdkName="17" jdkType="JavaSDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 30 - 0
JavaSe01/day12/src/com/lc/day12/abs01/Animal.java

@@ -0,0 +1,30 @@
+package com.lc.day12.abs01;
+
+/**
+ * ClassName: Animal
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 14:20
+ * @Version 1.0
+ */
+//抽象类
+public abstract class Animal {
+    String name;
+
+    public Animal( String name) {
+        this.name = name;
+    }
+
+    public Animal(){
+
+    }
+
+    //抽象方法。
+    public abstract void eat(); //让子类去使用。
+
+    //普通方法
+    public void m(){
+
+    };
+
+}

+ 24 - 0
JavaSe01/day12/src/com/lc/day12/abs01/Cat.java

@@ -0,0 +1,24 @@
+package com.lc.day12.abs01;
+
+/**
+ * ClassName: Cat
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 14:23
+ * @Version 1.0
+ */
+public class Cat extends Animal{
+
+    public Cat(String name){
+        super(name);
+    }
+
+    public Cat(){
+
+    }
+
+    @Override
+    public void eat() {
+        System.out.println(name+":猫吃猫粮");
+    }
+}

+ 17 - 0
JavaSe01/day12/src/com/lc/day12/abs01/Dog.java

@@ -0,0 +1,17 @@
+package com.lc.day12.abs01;
+
+/**
+ * ClassName: Dog
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 14:24
+ * @Version 1.0
+ */
+public abstract class Dog extends Animal{
+
+    //抽象类 继承抽象方法。
+//    @Override
+//    public void eat() {
+//        System.out.println("狗吃狗粮");
+//    }
+}

+ 15 - 0
JavaSe01/day12/src/com/lc/day12/abs01/HabaDog.java

@@ -0,0 +1,15 @@
+package com.lc.day12.abs01;
+
+/**
+ * ClassName: HabaDog
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 14:35
+ * @Version 1.0
+ */
+public class HabaDog  extends Dog{
+    @Override
+    public void eat() {
+        System.out.println("hahaha");
+    }
+}

+ 33 - 0
JavaSe01/day12/src/com/lc/day12/abs01/Test01.java

@@ -0,0 +1,33 @@
+package com.lc.day12.abs01;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 14:26
+ * @Version 1.0
+ */
+public class Test01 {
+    public static void main(String[] args) {
+        //多态
+        Animal cat = new Cat();
+        //抽象方法
+        cat.eat();
+        //普通方法
+        cat.m();
+
+        //抽象类 不能创建对象。 抽象方法。
+        //Animal animal = new Animal();
+
+        //抽象类中,也有构造方法,是供子类创建对象时,初始化父类成员变量使用的。
+        Animal c1 = new Cat("tom");
+        c1.eat();
+
+        //抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类
+
+
+        //抽象类的子类,必须重写抽象父类中**所有的**抽象方法,否则,编译无法通过而报错。除非该子类也是抽象类。
+
+
+    }
+}

+ 15 - 0
JavaSe01/day12/src/com/lc/day12/abs02/DongBei.java

@@ -0,0 +1,15 @@
+package com.lc.day12.abs02;
+
+/**
+ * ClassName: ShanXi
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:50
+ * @Version 1.0
+ */
+public class DongBei extends RouJiaMouTmpelate{
+    @Override
+    public void addCai() {
+        System.out.println("准备 肠");
+    }
+}

+ 30 - 0
JavaSe01/day12/src/com/lc/day12/abs02/RouJiaMouTmpelate.java

@@ -0,0 +1,30 @@
+package com.lc.day12.abs02;
+
+/**
+ * ClassName: RouJiaMouTmpelate
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:46
+ * @Version 1.0
+ */
+public abstract class RouJiaMouTmpelate {
+
+    public void make(){
+        //馍
+        addMou();
+        //肉
+        addMeat();
+        //加菜
+        addCai();
+    }
+    private void addMou(){
+        System.out.println("准备 馍");
+    }
+    private void addMeat(){
+        System.out.println("准备 肉");
+    }
+
+    //抽象方法
+    public abstract void addCai();
+
+}

+ 15 - 0
JavaSe01/day12/src/com/lc/day12/abs02/ShanXi.java

@@ -0,0 +1,15 @@
+package com.lc.day12.abs02;
+
+/**
+ * ClassName: ShanXi
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:50
+ * @Version 1.0
+ */
+public class ShanXi extends RouJiaMouTmpelate{
+    @Override
+    public void addCai() {
+        System.out.println("准备 生菜");
+    }
+}

+ 23 - 0
JavaSe01/day12/src/com/lc/day12/abs02/Test.java

@@ -0,0 +1,23 @@
+package com.lc.day12.abs02;
+
+/**
+ * ClassName: Test
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:51
+ * @Version 1.0
+ */
+public class Test {
+
+    public static void main(String[] args) {
+        RouJiaMouTmpelate s = new ShanXi();
+
+        s.make();
+
+        RouJiaMouTmpelate d = new DongBei();
+
+        d.make();
+
+
+    }
+}

+ 83 - 0
JavaSe01/day12/src/com/lc/day12/exer01/Student.java

@@ -0,0 +1,83 @@
+package com.lc.day12.exer01;
+
+/**
+ * ClassName: Student
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 10:12
+ * @Version 1.0
+ */
+public class Student {
+
+    // 姓名 年龄 地址 学号 学校 专业
+    private String name;
+    private int age;
+    private String address;
+    private int id;
+    private String school;
+
+    // 国家
+    public static String country;
+
+
+    /**
+     * Student 比较
+     * @return
+     */
+    public static boolean equals( Student s1 , Student s2){
+        return s1.id == s2.id && s1.name.equals(s2.name);
+    }
+
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        this.age = age;
+    }
+
+    public String getAddress() {
+        return address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getSchool() {
+        return school;
+    }
+
+    public void setSchool(String school) {
+        this.school = school;
+    }
+
+    @Override
+    public String toString() {
+        return "Student{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                ", address='" + address + '\'' +
+                ", id=" + id +
+                ", school='" + school + '\'' +
+                ", country='" + country + '\'' +
+                '}';
+    }
+}

+ 45 - 0
JavaSe01/day12/src/com/lc/day12/exer01/TestStudent.java

@@ -0,0 +1,45 @@
+package com.lc.day12.exer01;
+
+/**
+ * ClassName: TestStudent
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 10:17
+ * @Version 1.0
+ */
+public class TestStudent {
+    public static void main(String[] args) {
+        //静态属性
+        Student.country = "中国";
+
+        Student s1 = new Student();
+        s1.setId(1001);
+        s1.setName("zs");
+        s1.setAddress("北京");
+        s1.setSchool("黑大");
+        s1.setAge(22);
+
+        Student s2 = new Student();
+        s2.setId(1002);
+        s2.setName("zs");
+        s2.setAddress("上海");
+        s2.setSchool("黑大");
+        s2.setAge(22);
+
+        Student s3 = new Student();
+        s3.setId(1002);
+        s3.setName("zs");
+        s3.setAddress("上海");
+        s3.setSchool("黑大");
+        s3.setAge(22);
+
+        System.out.println(s1);
+        System.out.println(s2);
+        System.out.println(s3);
+
+        //比较方法
+        System.out.println(Student.equals(s2, s3));
+
+
+    }
+}

+ 37 - 0
JavaSe01/day12/src/com/lc/day12/exer02/Test.java

@@ -0,0 +1,37 @@
+package com.lc.day12.exer02;
+
+/**
+ * ClassName: Test
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 11:09
+ * @Version 1.0
+ */
+public class Test {
+    public static void main(String[] args) throws ClassNotFoundException {
+        Son son = new Son();
+
+    }
+}
+class Father{
+    static{
+        System.out.println("(1)父类的静态代码块");
+    }
+    {
+        System.out.println("(2)父类的非静态代码块");
+    }
+    Father(){
+        System.out.println("(3)父类的无参构造");
+    }
+}
+class Son extends Father{
+    static{
+        System.out.println("(4)子类的静态代码块");
+    }
+    {
+        System.out.println("(5)子类的非静态代码块");
+    }
+    Son(){
+        System.out.println("(6)子类的无参构造");
+    }
+}

+ 64 - 0
JavaSe01/day12/src/com/lc/day12/exer03/Test04.java

@@ -0,0 +1,64 @@
+package com.lc.day12.exer03;
+
+/**
+ * ClassName: Test04
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 11:17
+ * @Version 1.0
+ */
+public class Test04 {
+    public static void main(String[] args) {
+        Zi zi = new Zi();
+
+        //从上而下执行
+    }
+}
+class Fu{
+
+    private static int i = getNum("(1)i"); // 默认赋值  》 显示
+
+    static{
+        print("(3)父类静态代码块");
+    }
+
+
+
+    Fu(){
+        print("(5)父类构造器");
+    }
+    {
+        print("(4)父类非静态代码块,又称为构造代码块");
+    }
+    private int j = getNum("(2)j");
+
+    public static void print(String str){
+        System.out.println(str + "->" + i);
+    }
+    public static int getNum(String str){
+        print(str);
+        return ++i;
+    }
+}
+class Zi extends Fu{
+    private static int k = getNum("(6)k");
+
+    static{
+        print("(8)子类静态代码块");
+    }
+
+    Zi(){
+        print("(10)子类构造器");
+    }
+    {
+        print("(9)子类非静态代码块,又称为构造代码块");
+    }
+    private int h = getNum("(7)h");
+    public static void print(String str){
+        System.out.println(str + "->" + k);
+    }
+    public static int getNum(String str){
+        print(str);
+        return ++k;
+    }
+}

+ 17 - 0
JavaSe01/day12/src/com/lc/day12/exer04/Test01.java

@@ -0,0 +1,17 @@
+package com.lc.day12.exer04;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 14:06
+ * @Version 1.0
+ */
+public class Test01 {
+    public int addOne(final int x) {
+        //return ++x; // 编译问题
+        return x+1;
+    }
+
+
+}

+ 22 - 0
JavaSe01/day12/src/com/lc/day12/exer04/Test02.java

@@ -0,0 +1,22 @@
+package com.lc.day12.exer04;
+
+/**
+ * ClassName: Test02
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 14:07
+ * @Version 1.0
+ */
+public class Test02 {
+    public static void main(String[] args) {
+        Other o = new Other();
+        new Test02().addOne(o);
+    }
+    public void addOne(final Other o) {
+        //o = new Other();
+        o.i++;
+    }
+}
+class Other {
+    public int i;
+}

+ 14 - 0
JavaSe01/day12/src/com/lc/day12/exer05/A.java

@@ -0,0 +1,14 @@
+package com.lc.day12.exer05;
+
+/**
+ * ClassName: A
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:29
+ * @Version 1.0
+ */
+public abstract class A {
+    int numa = 10 ;
+
+    public abstract void showA();
+}

+ 13 - 0
JavaSe01/day12/src/com/lc/day12/exer05/B.java

@@ -0,0 +1,13 @@
+package com.lc.day12.exer05;
+
+/**
+ * ClassName: A
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:29
+ * @Version 1.0
+ */
+public abstract class B extends A {
+    int numb = 20;
+    public abstract void showB();
+}

+ 27 - 0
JavaSe01/day12/src/com/lc/day12/exer05/C.java

@@ -0,0 +1,27 @@
+package com.lc.day12.exer05;
+
+/**
+ * ClassName: A
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:29
+ * @Version 1.0
+ */
+public  class C extends B {
+
+    int numc = 30;
+
+    @Override
+    public void showA() {
+        System.out.println(numa);
+    }
+
+    @Override
+    public void showB() {
+        System.out.println(numb);
+    }
+
+    public void showC(){
+        System.out.println(numc);
+    }
+}

+ 28 - 0
JavaSe01/day12/src/com/lc/day12/exer05/Test01.java

@@ -0,0 +1,28 @@
+package com.lc.day12.exer05;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:29
+ * @Version 1.0
+ */
+public class Test01 {
+
+    public static void main(String[] args) {
+
+        A c = new C();
+        c.showA();
+
+        //转换
+        B b = (B) c;
+        b.showB();
+
+        //转换
+        C c1 = (C) b;
+        c1.showC();
+
+
+    }
+
+}

+ 20 - 0
JavaSe01/day12/src/com/lc/day12/exer06/Duck.java

@@ -0,0 +1,20 @@
+package com.lc.day12.exer06;
+
+/**
+ * ClassName: Duck
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:38
+ * @Version 1.0
+ */
+public class Duck extends Poultry{
+
+    public Duck(String name, String symptom, String illness, int age) {
+        super(name, symptom, illness, age);
+    }
+
+    @Override
+    public void showSymptom() {
+        System.out.println( symptom );
+    }
+}

+ 41 - 0
JavaSe01/day12/src/com/lc/day12/exer06/Poultry.java

@@ -0,0 +1,41 @@
+package com.lc.day12.exer06;
+
+/**
+ * ClassName: Poultry
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:36
+ * @Version 1.0
+ */
+public abstract class Poultry {
+
+    //动物种类(name),症状(symptom),年龄(age), 病因(illness)
+   String name;
+   String symptom;
+   String illness;
+
+   int age;
+
+    public Poultry(String name, String symptom, String illness, int age) {
+        this.name = name;
+        this.symptom = symptom;
+        this.illness = illness;
+        this.age = age;
+    }
+
+    public Poultry() {
+    }
+
+    public abstract void showSymptom();
+
+    public void showMsg(){
+        System.out.println(
+                "{" +
+                "name='" + name + '\'' +
+                ", symptom='" + symptom + '\'' +
+                ", illness='" + illness + '\'' +
+                ", age=" + age +
+                '}');
+    }
+
+}

+ 20 - 0
JavaSe01/day12/src/com/lc/day12/exer06/Test.java

@@ -0,0 +1,20 @@
+package com.lc.day12.exer06;
+
+/**
+ * ClassName: Test
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 15:39
+ * @Version 1.0
+ */
+public class Test {
+
+    public static void main(String[] args) {
+
+        Poultry poultry = new Duck("鸭子类","鸭子症状","病因",2);
+
+        poultry.showSymptom();
+        poultry.showMsg();
+
+    }
+}

+ 42 - 0
JavaSe01/day12/src/com/lc/day12/final01/Person.java

@@ -0,0 +1,42 @@
+package com.lc.day12.final01;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 11:54
+ * @Version 1.0
+ */
+
+/*
+修饰类不能被继承
+ */
+public /*final*/ class Person {
+
+    //属性
+    final int age = 0 ;
+
+
+    /*
+    * 修饰方法不能被覆盖
+    */
+    public final void m(){
+        System.out.println("m");
+    }
+
+
+    public static void main(String[] args) {
+        Person person = new Person();
+        //修饰属性 不能更改 值能被赋值一次。
+        //person.age = 30;
+    }
+
+
+
+}
+
+class Student extends Person{
+//    public final void m(){
+//        System.out.println("m");
+//    }
+}

+ 20 - 0
JavaSe01/day12/src/com/lc/day12/interface01/AudiCar.java

@@ -0,0 +1,20 @@
+package com.lc.day12.interface01;
+
+/**
+ * ClassName: AudiCar
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 16:22
+ * @Version 1.0
+ */
+public class AudiCar implements CarInterface{
+    @Override
+    public void breakCar() {
+        System.out.println("奥迪 停止 小于"+Dis+"以内 停止" );
+    }
+
+    @Override
+    public void runCar() {
+        System.out.println("奥迪 灯厂 形式速度 在"+CarInterface.Max+"km/h以内");
+    }
+}

+ 41 - 0
JavaSe01/day12/src/com/lc/day12/interface01/CarInterface.java

@@ -0,0 +1,41 @@
+package com.lc.day12.interface01;
+
+/**
+ * ClassName: CarInterface
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 16:16
+ * @Version 1.0
+ */
+public interface CarInterface {
+
+    //属性默认 常量
+    public static final int Max = 220; // km / h
+
+    public static final int Dis = 50;  //m
+
+    //默认 public abstract
+    public abstract void runCar();
+    public abstract void breakCar();
+
+    default void start(){
+        System.out.println("开启");
+    }
+
+    default void stop(){
+        System.out.println("停止");
+        mtheod();
+    }
+
+    static void show(){
+        System.out.println("国产汽车 崛起");
+
+    }
+
+    private void mtheod(){
+        System.out.println("私有方法");
+    }
+
+
+
+}

+ 30 - 0
JavaSe01/day12/src/com/lc/day12/interface01/Test.java

@@ -0,0 +1,30 @@
+package com.lc.day12.interface01;
+
+/**
+ * ClassName: Test
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 16:25
+ * @Version 1.0
+ */
+public class Test {
+
+    public static void main(String[] args) {
+
+        CarInterface car = new AudiCar();
+        car.start();
+        car.runCar();
+        car.breakCar();
+        //默认方法
+        car.stop();
+
+        //静态方法
+        CarInterface.show();
+
+
+
+
+
+    }
+
+}

+ 53 - 0
JavaSe01/day12/src/com/lc/day12/span/Person.java

@@ -0,0 +1,53 @@
+package com.lc.day12.span;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 10:27
+ * @Version 1.0
+ */
+public class Person {
+
+    String name;
+
+    static String country;
+
+    static  {
+        country = "中国";
+        System.out.println("静态代码块 执行");
+    }
+
+    //构造代码块
+    {
+        name = "kunkun";
+
+        System.out.println("构造代码块 执行");
+    }
+
+    public Person(){
+        System.out.println("构造方法 无参 执行");
+    }
+
+    public Person( String name){
+        this.name = name;
+        System.out.println("构造方法 有参name 执行");
+    }
+
+
+    //局部代码块
+    public void m1(){
+        int a = 10;
+
+        {
+            int b = 20;
+            System.out.println(b);
+        }
+
+        System.out.println(a);
+
+        //System.out.println(b); 范围限制
+    }
+
+
+}

+ 36 - 0
JavaSe01/day12/src/com/lc/day12/span/Test01.java

@@ -0,0 +1,36 @@
+package com.lc.day12.span;
+
+/**
+ * ClassName: Test01
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 10:27
+ * @Version 1.0
+ */
+public class Test01 {
+    public static void main(String[] args) {
+
+        Person person1 = new Person();
+
+        System.out.println(person1.name); // kunkun
+
+        Person person2 = new Person("fengfeng");
+
+        System.out.println(person2.name); // fengfeng 覆盖前面的值
+
+        System.out.println(Person.country);
+
+        // 静态代码块特点
+        // 1.在第一次使用到 类的时候 执行 静态代码块。
+        // 2.只执行一次
+
+
+        // 构造代码块特点
+        //1 优先于构造方法执行
+        //2 构造执行  代码块就会执行。
+
+
+
+
+    }
+}

+ 60 - 0
JavaSe01/day12/src/com/lc/day12/static01/Person.java

@@ -0,0 +1,60 @@
+package com.lc.day12.static01;
+
+/**
+ * ClassName: Person
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 9:25
+ * @Version 1.0
+ */
+public class Person {
+
+    String name;
+
+    int age;
+
+    static String country;
+
+    /**
+     * 静态方法
+     */
+    public static void method(){
+        //System.out.println(this);this 代表对象。
+        System.out.println("method");
+
+        //调用 country
+        country = "中国";
+
+        //非静态属性 不可以 ?
+        //name = "kk";
+    }
+
+
+    /**
+     * 非静态方法
+     */
+    public void fun(){
+        //System.out.println(this);this 代表对象。
+        System.out.println("method");
+
+        //调用 country 静态的
+        country = "中国";
+
+        //非静态属性 不可以 ?
+        //name = "kk";
+
+        // 类 是 对象的模板
+        //  现有类  之后  对象。 对象中的方法 调用 类中的属性可以的
+        //
+    }
+
+    public Person() {
+    }
+
+    public Person(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+
+}

+ 31 - 0
JavaSe01/day12/src/com/lc/day12/static01/Test.java

@@ -0,0 +1,31 @@
+package com.lc.day12.static01;
+
+/**
+ * ClassName: Test
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 9:48
+ * @Version 1.0
+ */
+public class Test {
+
+    public static void main(String[] args) {
+        //继承的m1方法
+        B.m1();
+
+        //不能重写  @Override 原因
+        B.m1();
+        A.m1();
+    }
+}
+class A{
+    public static void m1(){
+        System.out.println("m1  A");
+    }
+}
+class B extends A{
+
+    public static void m1(){
+        System.out.println("m1  B");
+    }
+}

+ 39 - 0
JavaSe01/day12/src/com/lc/day12/static01/TestPerson.java

@@ -0,0 +1,39 @@
+package com.lc.day12.static01;
+
+/**
+ * ClassName: TestPerson
+ *
+ * @Author 爱扣钉-陈晨
+ * @Create 2023/11/5 9:26
+ * @Version 1.0
+ */
+public class TestPerson {
+    public static void main(String[] args) {
+        Person person1 = new Person("kunkun", 22);
+        Person person2 = new Person("ff", 23 );
+        Person person3 = new Person("fanfan", 28 );
+
+        //资源浪费 中国 存在堆内存。存 三分。
+        // 由于时 统一的 只需要存一份。
+
+        // static 存在 静态区。一份
+        // 类.属性
+        Person.country = "中国"; //
+
+        //所有的对象都有统一的属性country
+
+        System.out.println(person1.country);
+        System.out.println(person2.country);
+        System.out.println(person3.country);
+
+        //true
+        System.out.println(person1.country == person2.country);
+
+        //调用方法
+        Person.method();
+
+        // 优先于对象 this 静态方法里面 不能有 this
+        // 静态方法名里面只能调用静态属性。
+        // 在非静态方法里面可以调用 静态属性
+    }
+}

BIN
JavaSe01/out/production/day09/com/lc/day09/extends5/b/B.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai/Man.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai/Person.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai/Student.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai/Test01.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai01/Animal.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai01/Cat.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai01/Dog.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai01/Pet.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai01/Test01.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai02/A.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai02/Animal.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai02/B.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai02/Cat.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai02/Dog.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai02/Test01.class


BIN
JavaSe01/out/production/day10/com/lc/day10/duotai02/Test02.class


BIN
JavaSe01/out/production/day10/com/lc/day10/exer01/Circle.class


BIN
JavaSe01/out/production/day10/com/lc/day10/exer01/Shape.class


BIN
JavaSe01/out/production/day10/com/lc/day10/exer01/Square.class


BIN
JavaSe01/out/production/day10/com/lc/day10/exer01/Test01.class


BIN
JavaSe01/out/production/day10/com/lc/day10/exer01/Triangle.class


BIN
JavaSe01/out/production/day10/com/lc/day10/home/CreditCard.class


BIN
JavaSe01/out/production/day10/com/lc/day10/home/DepositCard.class


BIN
JavaSe01/out/production/day10/com/lc/day10/home/TestHomeWork.class


BIN
JavaSe01/out/production/day10/com/lc/day10/instance01/Animal.class


BIN
JavaSe01/out/production/day10/com/lc/day10/instance01/Creature.class


BIN
JavaSe01/out/production/day10/com/lc/day10/instance01/Dog.class


BIN
JavaSe01/out/production/day10/com/lc/day10/super01/A.class


BIN
JavaSe01/out/production/day10/com/lc/day10/super01/B.class


BIN
JavaSe01/out/production/day10/com/lc/day10/super01/Test01.class


BIN
JavaSe01/out/production/day10/com/lc/day10/this01/A.class


Some files were not shown because too many files changed in this diff