xerga 2 years ago
parent
commit
f2be97074d
100 changed files with 1614 additions and 0 deletions
  1. 2 0
      JavaSE/.idea/modules.xml
  2. 11 0
      JavaSE/day11/day11.iml
  3. 91 0
      JavaSE/day11/src/com/lovecoding/day11/TestMemberInnerClass.java
  4. 21 0
      JavaSE/day11/src/com/lovecoding/day11/TestReturn.java
  5. 10 0
      JavaSE/day11/src/com/lovecoding/day11/Usb.java
  6. 20 0
      JavaSE/day11/src/com/lovecoding/day11/Usb2.java
  7. 23 0
      JavaSE/day11/src/com/lovecoding/day11/Usb3.java
  8. 32 0
      JavaSE/day11/src/com/lovecoding/day11/abs01/Animal.java
  9. 17 0
      JavaSE/day11/src/com/lovecoding/day11/abs01/Dog.java
  10. 17 0
      JavaSE/day11/src/com/lovecoding/day11/abs01/Test.java
  11. 26 0
      JavaSE/day11/src/com/lovecoding/day11/baozhuang01/Test01.java
  12. 42 0
      JavaSE/day11/src/com/lovecoding/day11/baozhuang02/Test02.java
  13. 27 0
      JavaSE/day11/src/com/lovecoding/day11/baozhuang02/Test03.java
  14. 29 0
      JavaSE/day11/src/com/lovecoding/day11/baozhuang02/TestExam.java
  15. 23 0
      JavaSE/day11/src/com/lovecoding/day11/enum01/TestWeek.java
  16. 22 0
      JavaSE/day11/src/com/lovecoding/day11/enum01/Week.java
  17. 33 0
      JavaSE/day11/src/com/lovecoding/day11/ex01/Test3.java
  18. 34 0
      JavaSE/day11/src/com/lovecoding/day11/ex02/HelloB.java
  19. 16 0
      JavaSE/day11/src/com/lovecoding/day11/ex02/Test.java
  20. 34 0
      JavaSE/day11/src/com/lovecoding/day11/homework/Architect.java
  21. 23 0
      JavaSE/day11/src/com/lovecoding/day11/homework/Data.java
  22. 33 0
      JavaSE/day11/src/com/lovecoding/day11/homework/Designer.java
  23. 55 0
      JavaSE/day11/src/com/lovecoding/day11/homework/Employee.java
  24. 18 0
      JavaSE/day11/src/com/lovecoding/day11/homework/Programmer.java
  25. 65 0
      JavaSE/day11/src/com/lovecoding/day11/homework/Test.java
  26. 26 0
      JavaSE/day11/src/com/lovecoding/day11/static01/Person.java
  27. 28 0
      JavaSE/day11/src/com/lovecoding/day11/static01/TestPerson.java
  28. 61 0
      JavaSE/day11/src/com/lovecoding/day11/static02/TestStaticMethod01.java
  29. 31 0
      JavaSE/day11/src/com/lovecoding/day11/static03/TestStatic01.java
  30. 24 0
      JavaSE/day11/src/com/lovecoding/day11/static04/Fu.java
  31. 8 0
      JavaSE/day11/src/com/lovecoding/day11/static04/TestZiInit.java
  32. 15 0
      JavaSE/day11/src/com/lovecoding/day11/static04/Zi.java
  33. 11 0
      JavaSE/day12/day12.iml
  34. 28 0
      JavaSE/day12/src/com/lovecoding/day12/ex01/Ball.java
  35. 19 0
      JavaSE/day12/src/com/lovecoding/day12/ex01/C.java
  36. 13 0
      JavaSE/day12/src/com/lovecoding/day12/ex02/AgeComactor.java
  37. 40 0
      JavaSE/day12/src/com/lovecoding/day12/ex02/ArrayTools.java
  38. 71 0
      JavaSE/day12/src/com/lovecoding/day12/ex02/Employee.java
  39. 13 0
      JavaSE/day12/src/com/lovecoding/day12/ex02/IdComactor.java
  40. 13 0
      JavaSE/day12/src/com/lovecoding/day12/ex02/SalaryComactor.java
  41. 36 0
      JavaSE/day12/src/com/lovecoding/day12/ex02/Test.java
  42. 27 0
      JavaSE/day12/src/com/lovecoding/day12/interface01/MobelHDD.java
  43. 22 0
      JavaSE/day12/src/com/lovecoding/day12/interface01/TestUsb.java
  44. 30 0
      JavaSE/day12/src/com/lovecoding/day12/interface01/Usb.java
  45. 13 0
      JavaSE/day12/src/com/lovecoding/day12/interface02/MobelHdd.java
  46. 23 0
      JavaSE/day12/src/com/lovecoding/day12/interface02/Test01.java
  47. 24 0
      JavaSE/day12/src/com/lovecoding/day12/interface02/TestUsb2.java
  48. 9 0
      JavaSE/day12/src/com/lovecoding/day12/interface02/Usb2.java
  49. 10 0
      JavaSE/day12/src/com/lovecoding/day12/interface03/Fu.java
  50. 7 0
      JavaSE/day12/src/com/lovecoding/day12/interface03/Fu1.java
  51. 7 0
      JavaSE/day12/src/com/lovecoding/day12/interface03/Fu2.java
  52. 8 0
      JavaSE/day12/src/com/lovecoding/day12/interface03/Fu3.java
  53. 35 0
      JavaSE/day12/src/com/lovecoding/day12/interface03/TestSFVar.java
  54. 11 0
      JavaSE/day12/src/com/lovecoding/day12/interface03/TestZi.java
  55. 25 0
      JavaSE/day12/src/com/lovecoding/day12/interface03/Zi.java
  56. 49 0
      JavaSE/day12/src/com/lovecoding/day12/interface04_1/Student.java
  57. 25 0
      JavaSE/day12/src/com/lovecoding/day12/interface04_1/TestCompable.java
  58. 37 0
      JavaSE/day12/src/com/lovecoding/day12/interface04_1/TestStudent.java
  59. 40 0
      JavaSE/day12/src/com/lovecoding/day12/interface04_2/Person.java
  60. 15 0
      JavaSE/day12/src/com/lovecoding/day12/interface04_2/PersonCompator.java
  61. 36 0
      JavaSE/day12/src/com/lovecoding/day12/interface04_2/TestPerson.java
  62. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/Outer$Inner.class
  63. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/Outer$Nei.class
  64. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/Outer.class
  65. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/TestMemberInnerClass.class
  66. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/TestReturn.class
  67. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/Usb.class
  68. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/Usb2.class
  69. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/Usb3.class
  70. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/abs01/Animal.class
  71. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/abs01/Dog.class
  72. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/abs01/Test.class
  73. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/baozhuang01/Test01.class
  74. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/Circle.class
  75. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/Test02.class
  76. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/Test03.class
  77. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/TestExam.class
  78. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/enum01/TestWeek.class
  79. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/enum01/Week.class
  80. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/ex01/Test3.class
  81. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/ex02/HelloA.class
  82. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/ex02/HelloB.class
  83. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/ex02/Test.class
  84. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/homework/Architect.class
  85. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/homework/Data.class
  86. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/homework/Designer.class
  87. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/homework/Employee.class
  88. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/homework/Programmer.class
  89. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/homework/Test.class
  90. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static01/Person.class
  91. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static01/TestPerson.class
  92. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static02/A.class
  93. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static02/B.class
  94. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static02/TestStaticMethod01.class
  95. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static03/A.class
  96. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static03/TestStatic01.class
  97. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static04/Fu.class
  98. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static04/TestZiInit.class
  99. BIN
      JavaSE/out/production/day11/com/lovecoding/day11/static04/Zi.class
  100. BIN
      JavaSE/out/production/day12/com/lovecoding/day12/ex01/A.class

+ 2 - 0
JavaSE/.idea/modules.xml

@@ -11,6 +11,8 @@
       <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>

+ 11 - 0
JavaSE/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="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 91 - 0
JavaSE/day11/src/com/lovecoding/day11/TestMemberInnerClass.java

@@ -0,0 +1,91 @@
+package com.lovecoding.day11;
+
+
+public class TestMemberInnerClass {
+    public static void main(String[] args) {
+        Outer.outMethod();
+        System.out.println("-----------------------");
+        Outer out = new Outer();
+        out.outFun();
+
+        System.out.println("####################################");
+        Outer.Inner.inMethod();
+        System.out.println("------------------------");
+        Outer.Inner inner = new Outer.Inner();
+        inner.inFun();
+
+        System.out.println("####################################");
+        Outer outer = new Outer();
+        Outer.Nei nei = outer.new Nei();
+//        Outer.Nei nei = out.getNei();
+        nei.inFun();
+    }
+}
+class Outer{
+    private static String a = "外部类的静态a";
+    private static String b  = "外部类的静态b";
+    private String c = "外部类对象的非静态c";
+    private String d = "外部类对象的非静态d";
+
+    static class Inner{
+        private static String a ="静态内部类的静态a";
+        private String c = "静态内部类对象的非静态c";
+        public static void inMethod(){
+            System.out.println("Inner.inMethod");
+            System.out.println("Outer.a = " + Outer.a);
+            System.out.println("Inner.a = " + a);
+            System.out.println("b = " + b);
+//            System.out.println("c = " + c);//不能访问外部类和自己的非静态成员
+//            System.out.println("d = " + d);//不能访问外部类的非静态成员
+        }
+        public void inFun(){
+            System.out.println("Inner.inFun");
+            System.out.println("Outer.a = " + Outer.a);
+            System.out.println("Inner.a = " + a);
+            System.out.println("b = " + b);
+            System.out.println("c = " + c);
+//            System.out.println("d = " + d);//不能访问外部类的非静态成员
+        }
+    }
+
+    class Nei{
+        private String a = "非静态内部类对象的非静态a";
+        private String c = "非静态内部类对象的非静态c";
+
+        public void inFun(){
+            System.out.println("Nei.inFun");
+            System.out.println("Outer.a = " + Outer.a);
+            System.out.println("a = " + a);
+            System.out.println("b = " + b);
+            System.out.println("Outer.c = " + Outer.this.c);
+            System.out.println("c = " + c);
+            System.out.println("d = " + d);
+        }
+    }
+
+    public static void outMethod(){
+        System.out.println("Outer.outMethod");
+        System.out.println("a = " + a);
+        System.out.println("Inner.a = " + Inner.a);
+        System.out.println("b = " + b);
+//        System.out.println("c = " + c);
+//        System.out.println("d = " + d);
+        Inner in = new Inner();
+        System.out.println("in.c = " + in.c);
+    }
+
+    public void outFun(){
+        System.out.println("Outer.outFun");
+        System.out.println("a = " + a);
+        System.out.println("Inner.a = " + Inner.a);
+        System.out.println("b = " + b);
+        System.out.println("c = " + c);
+        System.out.println("d = " + d);
+        Inner in = new Inner();
+        System.out.println("in.c = " + in.c);
+    }
+
+    public Nei getNei(){
+        return new Nei();
+    }
+}

+ 21 - 0
JavaSE/day11/src/com/lovecoding/day11/TestReturn.java

@@ -0,0 +1,21 @@
+package com.lovecoding.day11;
+
+public class TestReturn {
+    public static void main(String[] args) {
+        int result = test("a");
+        System.out.println(result);
+    }
+
+    public static int test(String str){
+        int a = 1;
+        try{
+            Integer.parseInt(str);
+            return 1;
+        }catch(NumberFormatException e){
+            return a;
+        }finally{
+            a = 12;
+            System.out.println("test结束");
+        }
+    }
+}

+ 10 - 0
JavaSE/day11/src/com/lovecoding/day11/Usb.java

@@ -0,0 +1,10 @@
+package com.lovecoding.day11;
+
+public interface Usb extends Usb2,Usb3{
+
+
+    @Override
+    default void stop() {
+        Usb2.super.stop();
+    }
+}

+ 20 - 0
JavaSE/day11/src/com/lovecoding/day11/Usb2.java

@@ -0,0 +1,20 @@
+package com.lovecoding.day11;
+
+public interface Usb2 {
+    //静态常量
+    long MAX_SPEED = 60*1024*1024;//60MB/s
+
+    //抽象方法
+    void in();
+    void out();
+
+
+    public default void stop(){
+        System.out.println("结束");
+    }
+
+    //静态方法
+    public static void show(){
+        System.out.println("USB 2.0可以高速地进行读写操作");
+    }
+}

+ 23 - 0
JavaSE/day11/src/com/lovecoding/day11/Usb3.java

@@ -0,0 +1,23 @@
+package com.lovecoding.day11;
+
+public interface Usb3 {
+    //静态常量
+    long MAX_SPEED = 60*1024*1024;//60MB/s
+
+    //抽象方法
+    void in();
+    void out();
+
+    //默认方法
+    public default void start(){
+        System.out.println("开始3");
+    }
+    public default void stop(){
+        System.out.println("结束3");
+    }
+
+    //静态方法
+    public static void show(){
+        System.out.println("USB 2.0可以高速地进行读写操作");
+    }
+}

+ 32 - 0
JavaSE/day11/src/com/lovecoding/day11/abs01/Animal.java

@@ -0,0 +1,32 @@
+package com.lovecoding.day11.abs01;
+
+//抽象类
+public abstract class Animal {
+    //abstract final 不能同时使用 修饰类和方法
+    public static final int age = 10; //常量
+
+    static {
+        System.out.println("123");
+    }
+
+    {
+        System.out.println("123");
+    }
+
+    //属性
+    String name;
+
+    //抽象方法
+    //有抽象方法的类必须是抽象类
+    //子类实现
+    public abstract void eat();
+
+    //可以有构造方法
+    public Animal() {
+    }
+
+    //给属性赋值 给子类
+    public Animal(String name) {
+        this.name = name;
+    }
+}

+ 17 - 0
JavaSE/day11/src/com/lovecoding/day11/abs01/Dog.java

@@ -0,0 +1,17 @@
+package com.lovecoding.day11.abs01;
+
+public class Dog extends Animal{
+
+    public Dog() {
+    }
+
+    public Dog(String name) {
+        super(name);
+    }
+
+    @Override
+    public void eat() {
+        System.out.println("够吃肉");
+    }
+
+}

+ 17 - 0
JavaSE/day11/src/com/lovecoding/day11/abs01/Test.java

@@ -0,0 +1,17 @@
+package com.lovecoding.day11.abs01;
+
+public class Test {
+    public static void main(String[] args) {
+        Dog dog = new Dog();
+        dog.eat();
+
+        Animal dog1 = new Dog();
+        dog1.eat();
+        //参数 返回值 体现多态
+
+        //抽象类不能被实例化
+        //Animal animal = new Animal();
+
+
+    }
+}

+ 26 - 0
JavaSE/day11/src/com/lovecoding/day11/baozhuang01/Test01.java

@@ -0,0 +1,26 @@
+package com.lovecoding.day11.baozhuang01;
+
+public class Test01 {
+
+    public static void main(String[] args) {
+        //基本
+        int i = 10;
+        //包装
+        Integer i1 = 20;
+
+        //基本 =》 包装
+        Integer i2 = i; //推荐 自动装箱
+
+        Integer obj1 = new Integer(4);//使用构造函数函数 不推荐
+        Integer obj2 = Integer.valueOf(4);  //使用包装类中的valueOf方法
+
+        //包装 =》 基本
+        int i3 = i2.intValue(); //不推荐
+
+        int i4 = i2; //简单  自动拆箱
+
+        int i5 = i2 + 1; //自动拆箱
+
+
+    }
+}

+ 42 - 0
JavaSE/day11/src/com/lovecoding/day11/baozhuang02/Test02.java

@@ -0,0 +1,42 @@
+package com.lovecoding.day11.baozhuang02;
+
+public class Test02 {
+
+    public static void main(String[] args) {
+        //把基本数据类型转为字符串
+        int i1 = 10;
+        //String s1= i1; // 编译错误
+        String s = String.valueOf(i1);
+        //+号连接
+        String s1 = i1 + "";
+
+        //把字符串转为基本数据类型
+        //数字 字面值必须是数字 "123" 基本  "aaafdas123"转int  //NumberFormatException
+        String s2 = "123";
+        //包装类的的方法
+        int i = Integer.parseInt(s2);
+        System.out.println(i);
+
+
+        //字符串转为包装类
+        Integer integer = Integer.valueOf(s2);
+
+        //最大值
+        int maxValue = Integer.MAX_VALUE;
+        System.out.println(maxValue);
+
+        byte maxValue1 = Byte.MAX_VALUE;
+        System.out.println(maxValue1);
+
+
+        //比较的方法
+        int compare = Integer.compare(12, 12);
+        System.out.println(compare);
+        int compare1 = Integer.compare(11, 12);
+        System.out.println(compare1);
+        int compare2 = Integer.compare(13, 12);
+        System.out.println(compare2);
+
+        //compare 0 相等  - 小   + 大
+    }
+}

+ 27 - 0
JavaSE/day11/src/com/lovecoding/day11/baozhuang02/Test03.java

@@ -0,0 +1,27 @@
+package com.lovecoding.day11.baozhuang02;
+
+public class Test03 {
+
+    public static void main(String[] args) {
+//        Integer a = 1;
+//        Integer b = 1;
+//        System.out.println(a == b); //true
+//
+//        Integer i = 128;
+//        Integer j = 128;
+//        System.out.println(i == j); //false
+//
+//        Integer m = new Integer(1);// new 堆
+//        Integer n = 1;//
+//        System.out.println(m == n);//
+//
+//        Integer x = new Integer(1);//
+//        Integer y = new Integer(1);//
+//        System.out.println(x == y);//
+
+
+        Integer i = 1;
+        Double d = 1.0;
+        //System.out.println(i==d);//编译报错
+    }
+}

+ 29 - 0
JavaSE/day11/src/com/lovecoding/day11/baozhuang02/TestExam.java

@@ -0,0 +1,29 @@
+package com.lovecoding.day11.baozhuang02;
+
+public class TestExam {
+    public static void main(String[] args) {
+        int i = 1;
+        Integer j = new Integer(2); // 包装类 对象不可以变
+        Circle c = new Circle();
+        change(i,j,c);
+        System.out.println("i = " + i);//1 局部变量
+        System.out.println("j = " + j);//2  包装类 对象不可以变 创建新的对象
+        System.out.println("c.radius = " + c.radius);//10.0
+    }
+    /*
+     * 方法的参数传递机制:
+     * (1)基本数据类型:形参的修改完全不影响实参
+     * (2)引用数据类型:通过形参修改对象的属性值,会影响实参的属性值
+     * 这类Integer等包装类对象是“不可变”对象,即一旦修改,就是新对象,和实参就无关了
+     */
+    public static void change(int a ,Integer b,Circle c ){
+        a += 10;
+		b += 10;//等价于  b = new Integer(b+10);
+        c.radius += 10;
+		/*c = new Circle();
+		c.radius+=10;*/
+    }
+}
+class Circle{
+    double radius;
+}

+ 23 - 0
JavaSE/day11/src/com/lovecoding/day11/enum01/TestWeek.java

@@ -0,0 +1,23 @@
+package com.lovecoding.day11.enum01;
+
+public class TestWeek {
+    public static void main(String[] args) {
+
+        //类名.值
+        System.out.println(Week.XIN_GQING_ER);
+
+        //枚举
+        Week xinGqingEr = Week.XIN_GQING_ER;
+        System.out.println(xinGqingEr);
+
+        //用 int 代替 i 1 = 星期一
+
+        Week[] values = Week.values();
+
+        for (Week value : values) {
+            System.out.println(value);
+        }
+        //返回常量的次序号,默认从0开始
+        System.out.println(Week.XIN_GQING_ER.ordinal());
+    }
+}

+ 22 - 0
JavaSE/day11/src/com/lovecoding/day11/enum01/Week.java

@@ -0,0 +1,22 @@
+package com.lovecoding.day11.enum01;
+
+//enum 修饰
+public enum Week {
+
+    //1.5 之前 class
+    //public static final String  XIN_GQING_YI = "123";   //静态常量
+
+    //1.5 枚举
+    XIN_GQING_YI(1,"星期一"),XIN_GQING_ER(2,"星期二");
+
+
+    //属性 private final
+    private final int code;
+    private final String desc;
+
+
+    private Week(int code, String desc) {
+        this.code = code;
+        this.desc = desc;
+    }
+}

+ 33 - 0
JavaSE/day11/src/com/lovecoding/day11/ex01/Test3.java

@@ -0,0 +1,33 @@
+package com.lovecoding.day11.ex01;
+
+public class Test3 {
+    static int x, y, z;// 0 成员变量
+
+    static {
+        int x = 5; //局部变量
+        x--; //局部
+    }
+
+    //x, y, z = 0
+    static {
+        x--;
+    }
+    //x = -1 , y, z = 0
+    public static void method() {
+        //x = -1 , y,  = 0  z = -1
+        //  -1  + 1
+        y = z++ + ++z;
+        // y = 0
+    }
+
+    public static void main(String[] args) {
+        System.out.println("x=" + x); // -1
+        z--;
+        //x = -1 , y,  = 0  z = -1
+        method();
+        //x = -1 , y, z = 1
+        System.out.println("result:" + (z + y + ++z)); // 3
+
+        //x = -1 y = 0 z = 1  result 3
+    }
+}

+ 34 - 0
JavaSE/day11/src/com/lovecoding/day11/ex02/HelloB.java

@@ -0,0 +1,34 @@
+package com.lovecoding.day11.ex02;
+
+class HelloA{
+    public HelloA(){
+        System.out.println("1 HelloA");
+    }
+
+    {
+        System.out.println("2 I'm A Class");
+    }
+
+    static{
+        System.out.println("3 static A");
+    }
+}
+
+public class HelloB extends HelloA{
+    public HelloB(){
+        System.out.println("4 HelloB");
+    }
+
+    {
+        System.out.println("5 I'm B Class");
+    }
+
+    static{
+        System.out.println("6 static B");
+    }
+
+    public static void main(String[] args) {
+        new HelloB();
+    }
+
+}

+ 16 - 0
JavaSE/day11/src/com/lovecoding/day11/ex02/Test.java

@@ -0,0 +1,16 @@
+package com.lovecoding.day11.ex02;
+
+public class Test {
+
+    public static void main(String[] args) {
+        Integer i11 = 127;
+        Integer i22 = 127;
+        Integer i1 = 128;
+        Integer i2 = 128;
+        int i3 = 128;
+        int i4 = 128;
+        System.out.println(i1 == i2); //false
+        System.out.println(i3 == i4); //true
+        System.out.println(i1 == i3); //true
+    }
+}

+ 34 - 0
JavaSE/day11/src/com/lovecoding/day11/homework/Architect.java

@@ -0,0 +1,34 @@
+package com.lovecoding.day11.homework;
+
+public class Architect extends Designer{
+
+    private int stock;
+
+    public Architect() {
+
+    }
+
+    public Architect(int id, String name, int age, double salary, double bonus, int stock) {
+        super(id, name, age, salary, bonus);
+        this.stock = stock;
+    }
+
+    public int getStock() {
+        return stock;
+    }
+
+    public void setStock(int stock) {
+        this.stock = stock;
+    }
+
+    @Override
+    public String toString() {
+        return "编号=" + this.getId() +", " +
+                "姓名='" + this.getId()  +", " +
+                "年龄=" + this.getAge() +", " +
+                "薪资=" + getSalary() +
+                "设计师 , " +
+                "奖金=" + getBonus() +
+                "股票=" + getStock()  ;
+    }
+}

+ 23 - 0
JavaSE/day11/src/com/lovecoding/day11/homework/Data.java

@@ -0,0 +1,23 @@
+package com.lovecoding.day11.homework;
+
+public class Data{
+    public static final int EMPLOYEE = 10;//表示普通员工
+    public static final int PROGRAMMER = 11;//表示程序员
+    public static final int DESIGNER = 12;//表示设计师
+    public static final int ARCHITECT = 13;//表示架构师
+
+    public static final String[][] EMPLOYEES = {
+            {"10", "1", "段誉", "22", "3000"},
+            {"13", "2", "令狐冲", "32", "18000", "15000", "2000"},
+            {"11", "3", "任我行", "23", "7000"},
+            {"11", "4", "张三丰", "24", "7300"},
+            {"12", "5", "周芷若", "28", "10000", "5000"},
+            {"11", "6", "赵敏", "22", "6800"},
+            {"12", "7", "张无忌", "29", "10800","5200"},
+            {"13", "8", "韦小宝", "30", "19800", "15000", "2500"},
+            {"12", "9", "杨过", "26", "9800", "5500"},
+            {"11", "10", "小龙女", "21", "6600"},
+            {"11", "11", "郭靖", "25", "7100"},
+            {"12", "12", "黄蓉", "27", "9600", "4800"}
+    };
+}

+ 33 - 0
JavaSE/day11/src/com/lovecoding/day11/homework/Designer.java

@@ -0,0 +1,33 @@
+package com.lovecoding.day11.homework;
+
+public class Designer extends Employee{
+
+    private double bonus;
+
+    public Designer() {
+
+    }
+
+    public Designer(int id, String name, int age, double salary, double bonus) {
+        super(id, name, age, salary);
+        this.bonus = bonus;
+    }
+
+    public double getBonus() {
+        return bonus;
+    }
+
+    public void setBonus(double bonus) {
+        this.bonus = bonus;
+    }
+
+    @Override
+    public String toString() {
+        return "编号=" + this.getId() +", " +
+                "姓名='" + this.getId()  +", " +
+                "年龄=" + this.getAge() +", " +
+                "薪资=" + getSalary() +
+                "设计师 , " +
+                "奖金=" + getBonus()  ;
+    }
+}

+ 55 - 0
JavaSE/day11/src/com/lovecoding/day11/homework/Employee.java

@@ -0,0 +1,55 @@
+package com.lovecoding.day11.homework;
+
+public class Employee {
+    private int id;
+    private String name;
+    private int age;
+    private double salary;
+
+    public Employee() {
+    }
+
+    public Employee(int id, String name, int age, double salary) {
+        this.id = id;
+        this.name = name;
+        this.age = age;
+        this.salary = salary;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    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 double getSalary() {
+        return salary;
+    }
+
+    public void setSalary(double salary) {
+        this.salary = salary;
+    }
+
+    @Override
+    public String toString() {
+        return "编号=" + id +", 姓名='" + name  +", 年龄=" + age +", 薪资=" + salary + "员工" ;
+    }
+}

+ 18 - 0
JavaSE/day11/src/com/lovecoding/day11/homework/Programmer.java

@@ -0,0 +1,18 @@
+package com.lovecoding.day11.homework;
+
+public class Programmer extends  Employee{
+
+    public Programmer(int id, String name, int age, double salary) {
+        super(id, name, age, salary);
+    }
+
+    public Programmer() {
+
+    }
+
+    @Override
+    public String toString() {
+        return "编号=" + this.getId() +", 姓名='" + this.getId()  +", 年龄=" + this.getAge() +", 薪资=" + getSalary() + "程序员" ;
+    }
+
+}

+ 65 - 0
JavaSE/day11/src/com/lovecoding/day11/homework/Test.java

@@ -0,0 +1,65 @@
+package com.lovecoding.day11.homework;
+
+public class Test {
+
+    public static void main(String[] args) {
+
+        //创建一个员工
+        Employee[] employees = new Employee[Data.EMPLOYEES.length];
+
+        //初始化
+        for (int i = 0; i < employees.length; i++) {
+
+            //编号
+            String number = Data.EMPLOYEES[i][0];
+            //转换
+            int num = Integer.parseInt(number);
+
+            switch (num){
+                case Data.EMPLOYEE:
+                    int empId =Integer.parseInt(Data.EMPLOYEES[i][1]);
+                    String empName = Data.EMPLOYEES[i][2];
+                    int empAge = Integer.parseInt(Data.EMPLOYEES[i][3]);
+                    Double empSalary = Double.parseDouble(Data.EMPLOYEES[i][4]);
+                    //初始化对象
+                    employees[i] = new Employee(empId,empName,empAge,empSalary);
+                    break;
+                case Data.PROGRAMMER:
+                    int proId =Integer.parseInt(Data.EMPLOYEES[i][1]);
+                    String proName = Data.EMPLOYEES[i][2];
+                    int proAge = Integer.parseInt(Data.EMPLOYEES[i][3]);
+                    Double prosSalary = Double.parseDouble(Data.EMPLOYEES[i][4]);
+                    //初始化对象
+                    employees[i] = new Programmer(proId,proName,proAge,prosSalary);
+                    break;
+                case Data.DESIGNER:
+                    int desId =Integer.parseInt(Data.EMPLOYEES[i][1]);
+                    String desName = Data.EMPLOYEES[i][2];
+                    int desAge = Integer.parseInt(Data.EMPLOYEES[i][3]);
+                    Double desSalary = Double.parseDouble(Data.EMPLOYEES[i][4]);
+                    Double bonus = Double.parseDouble(Data.EMPLOYEES[i][5]);
+                    //初始化对象
+                    employees[i] = new Designer(desId,desName,desAge,desSalary,bonus);
+                    break;
+
+                case Data.ARCHITECT:
+                    int arcId =Integer.parseInt(Data.EMPLOYEES[i][1]);
+                    String arcName = Data.EMPLOYEES[i][2];
+                    int arcAge = Integer.parseInt(Data.EMPLOYEES[i][3]);
+                    Double arcSalary = Double.parseDouble(Data.EMPLOYEES[i][4]);
+                    Double arcBonus = Double.parseDouble(Data.EMPLOYEES[i][5]);
+                    Integer stock = Integer.parseInt(Data.EMPLOYEES[i][6]);
+                    //初始化对象
+                    employees[i] = new Architect(arcId,arcName,arcAge,arcSalary,arcBonus,stock);
+                    break;
+            }
+        }
+
+        //遍历
+        for (Employee employee : employees) {
+            System.out.println(employee);
+        }
+
+
+    }
+}

+ 26 - 0
JavaSE/day11/src/com/lovecoding/day11/static01/Person.java

@@ -0,0 +1,26 @@
+package com.lovecoding.day11.static01;
+
+public class Person {
+    public String name;
+    public int age;
+    //静态的
+    public static  String city = "哈尔滨";
+    {
+        System.out.println(Person.city);
+    }
+    public Person(String name, int age) {
+
+        this.name = name;
+        this.age = age;
+    }
+
+    public void  show(){
+        System.out.println(Person.city);
+    }
+
+    {
+        System.out.println(Person.city);
+    }
+
+
+}

+ 28 - 0
JavaSE/day11/src/com/lovecoding/day11/static01/TestPerson.java

@@ -0,0 +1,28 @@
+package com.lovecoding.day11.static01;
+
+public class TestPerson {
+
+    public static void main(String[] args) {
+
+        Person person1 = new Person("鸡哥",24);
+        Person person2 = new Person("强哥",26);
+
+        //静态的属性
+        //类名.静态属性
+        String city1 = Person.city;
+        city1 = "北京";
+        System.out.println(city1);
+
+        Person.city="上海";
+        //可以操作 不建议
+        String city2 = person1.city;
+        System.out.println(city2);
+
+        String city3 = person2.city;
+        System.out.println(city3);
+
+        //一份 被对象共享 优于对象 存到 静态区
+
+
+    }
+}

+ 61 - 0
JavaSE/day11/src/com/lovecoding/day11/static02/TestStaticMethod01.java

@@ -0,0 +1,61 @@
+package com.lovecoding.day11.static02;
+
+public class TestStaticMethod01 {
+
+    //静态方法
+    public static void method1(){
+        System.out.println("method1");
+    }
+
+    //使用位置
+    public void m(){
+        TestStaticMethod01.method1();
+    }
+    {
+        TestStaticMethod01.method1();
+    }
+
+    public TestStaticMethod01() {
+        TestStaticMethod01.method1();
+    }
+
+    public static void main(String[] args) {
+        //调用 类名.方法名
+        //TestStaticMethod01.method1();
+
+        //继承
+        B.method1();
+
+        //不能被重写
+        B.method1();
+
+        //多态
+        A a = new B();
+        a.method1();
+
+        //重载 可以重载
+    }
+
+
+
+}
+
+class A {
+    public static void method1(){
+        System.out.println("method1-A");
+    }
+}
+class B extends A{
+    //这里不是重写 重写方法 会提示 加注解 @Override
+    public static void method1(){
+        System.out.println("method1-B");
+    }
+
+    public static void method1(String a){
+        System.out.println("method1-B");
+    }
+
+    public static void method1(String a,String b){
+        System.out.println("method1-B");
+    }
+}

+ 31 - 0
JavaSE/day11/src/com/lovecoding/day11/static03/TestStatic01.java

@@ -0,0 +1,31 @@
+package com.lovecoding.day11.static03;
+
+public class TestStatic01 {
+    public static void main(String[] args) {
+        //10 第一次被加载
+        //System.out.println(A.a);
+
+        A a1 = new A();
+        A a2 = new A();
+
+    }
+}
+
+class A {
+    //静态属性
+    static int a;
+    //静态
+    static  {
+        a = 10;
+        System.out.println("静态代码块执行,a="+a);
+    }
+    {
+        a = 20;
+        System.out.println("代码块执行,a="+a);
+    }
+
+    public A() {
+        a = 30;
+        System.out.println("构造方法执行,a="+a);
+    }
+}

+ 24 - 0
JavaSE/day11/src/com/lovecoding/day11/static04/Fu.java

@@ -0,0 +1,24 @@
+package com.lovecoding.day11.static04;
+
+public class Fu {
+    static{
+        System.out.println("Fu静态代码块1,a = " + Fu.a); //a = 0
+    }
+    private static int a = 1;
+
+    static{
+        System.out.println("Fu静态代码块2,a = " + a); //a=1
+    }
+
+    {
+        System.out.println("Fu非静态代码块");
+    }
+
+    public Fu(){
+        System.out.println("Fu构造器");
+    }
+
+    public static void method(){
+        System.out.println("Fu.method");
+    }
+}

+ 8 - 0
JavaSE/day11/src/com/lovecoding/day11/static04/TestZiInit.java

@@ -0,0 +1,8 @@
+package com.lovecoding.day11.static04;
+
+public class TestZiInit {
+    public static void main(String[] args) {
+        Zi z1 = new Zi();
+        Zi z2 = new Zi();
+    }
+}

+ 15 - 0
JavaSE/day11/src/com/lovecoding/day11/static04/Zi.java

@@ -0,0 +1,15 @@
+package com.lovecoding.day11.static04;
+
+
+public class Zi extends Fu{
+    static{
+        System.out.println("Zi静态代码块"); // 3
+    }
+    {
+        System.out.println("Zi非静态代码块");
+    }
+    public Zi(){
+        //super()
+        System.out.println("Zi构造器");
+    }
+}

+ 11 - 0
JavaSE/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="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 28 - 0
JavaSE/day12/src/com/lovecoding/day12/ex01/Ball.java

@@ -0,0 +1,28 @@
+package com.lovecoding.day12.ex01;
+
+public class Ball implements Rollable {
+    String name;
+    public Ball(String name) {
+        this.name = name;
+    }
+    public Ball() {
+    }
+    public String getName() {
+        return name;
+    }
+    @Override
+    public void play() {
+        //ball = new Ball("Football"); 编译问题 ? ball被final修饰 不允许再次赋值
+    }
+}
+interface Playable{
+    void play();
+}
+interface Bonceable{
+    void play();
+}
+interface Rollable extends Playable ,Bonceable{
+    //Rollable 接口
+    // 接口中的成员变量 默认 public final static
+    Ball ball = new Ball("pingpang");
+}

+ 19 - 0
JavaSE/day12/src/com/lovecoding/day12/ex01/C.java

@@ -0,0 +1,19 @@
+package com.lovecoding.day12.ex01;
+
+interface A {
+    int x = 10; //public static final
+}
+class B {
+    int x = 0;
+}
+
+public class C extends B implements A{
+
+    public void px(){
+        //System.out.println(x); //编译错误 x 取值模糊
+    }
+
+    public static void main(String[] args) {
+        new C().px();
+    }
+}

+ 13 - 0
JavaSE/day12/src/com/lovecoding/day12/ex02/AgeComactor.java

@@ -0,0 +1,13 @@
+package com.lovecoding.day12.ex02;
+
+import java.util.Comparator;
+
+public class AgeComactor implements Comparator {
+    @Override
+    public int compare(Object o1, Object o2) {
+        Employee employee1 = (Employee) o1;
+        Employee employee2 = (Employee) o2;
+        //age
+        return employee1.getAge().compareTo(employee2.getAge()) ;
+    }
+}

+ 40 - 0
JavaSE/day12/src/com/lovecoding/day12/ex02/ArrayTools.java

@@ -0,0 +1,40 @@
+package com.lovecoding.day12.ex02;
+
+import java.util.Comparator;
+
+public class ArrayTools {
+    public static void sort(Employee[] arr){
+        //排序
+        for (int i = 1; i < arr.length; i++) {
+            for (int j = 0; j < arr.length-i; j++) {
+                //调换
+                if( arr[j].compareTo(arr[j + 1]) > 0 ){
+                    Employee temp = arr[j];
+                    arr[j] = arr[j+1];
+                    arr[j+1] = temp;
+                }
+            }
+        }
+    }
+
+    //Comparator 定义排序规则
+    public static void sort(Employee[] arr, Comparator c){
+        //排序
+        for (int i = 1; i < arr.length; i++) {
+            for (int j = 0; j < arr.length-i; j++) {
+                //调换
+                if( c.compare(arr[j],arr[j+1]) > 0 ){
+                    Employee temp = arr[j];
+                    arr[j] = arr[j+1];
+                    arr[j+1] = temp;
+                }
+            }
+        }
+    }
+
+    public static void print(Object[] arr){
+        for (Object o : arr) {
+            System.out.println(o);
+        }
+    }
+}

+ 71 - 0
JavaSE/day12/src/com/lovecoding/day12/ex02/Employee.java

@@ -0,0 +1,71 @@
+package com.lovecoding.day12.ex02;
+
+public class Employee implements Comparable {
+    //编号、姓名、薪资、年龄,属性私有化,
+    private Integer id;
+    private String name;
+    private Double salary;
+    private Integer age;
+
+    public Employee(Integer id, String name, Double salary, Integer age) {
+        this.id = id;
+        this.name = name;
+        this.salary = salary;
+        this.age = age;
+    }
+
+    public Employee() {
+    }
+
+    @Override
+    public int compareTo(Object o) {
+        //强制转换
+        Employee emp = (Employee) o;
+        //编号
+        //return this.id - emp.id;
+        return this.id.compareTo(emp.id);
+    }
+
+    @Override
+    public String toString() {
+        return "Employee{" +
+                "id=" + id +
+                ", name='" + name + '\'' +
+                ", salary=" + salary +
+                ", age=" + age +
+                '}';
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public Double getSalary() {
+        return salary;
+    }
+
+    public void setSalary(Double salary) {
+        this.salary = salary;
+    }
+
+    public Integer getAge() {
+        return age;
+    }
+
+    public void setAge(Integer age) {
+        this.age = age;
+    }
+
+}

+ 13 - 0
JavaSE/day12/src/com/lovecoding/day12/ex02/IdComactor.java

@@ -0,0 +1,13 @@
+package com.lovecoding.day12.ex02;
+
+import java.util.Comparator;
+
+public class IdComactor implements Comparator {
+    @Override
+    public int compare(Object o1, Object o2) {
+        Employee employee1 = (Employee) o1;
+        Employee employee2 = (Employee) o2;
+        //id
+        return employee1.getId() - employee2.getId();
+    }
+}

+ 13 - 0
JavaSE/day12/src/com/lovecoding/day12/ex02/SalaryComactor.java

@@ -0,0 +1,13 @@
+package com.lovecoding.day12.ex02;
+
+import java.util.Comparator;
+
+public class SalaryComactor implements Comparator {
+    @Override
+    public int compare(Object o1, Object o2) {
+        Employee employee1 = (Employee) o1;
+        Employee employee2 = (Employee) o2;
+        //salary
+        return employee1.getSalary().compareTo(employee2.getSalary()) ;
+    }
+}

+ 36 - 0
JavaSE/day12/src/com/lovecoding/day12/ex02/Test.java

@@ -0,0 +1,36 @@
+package com.lovecoding.day12.ex02;
+
+public class Test {
+    public static void main(String[] args) {
+        //创建数组
+        Employee[] emps = new Employee[5];
+        //数组赋值
+        for (int i = 0; i < emps.length; i++) {
+            //Integer id, String name, Double salary, Integer age
+            emps[i] = new Employee(5-i, "zs",10.0+i, 22+i);
+        }
+        //查看
+        ArrayTools.print(emps);
+//        //调用工具
+//        System.out.println("----------");
+//        ArrayTools.sort(emps);
+//        //查看
+//        ArrayTools.print(emps);
+
+
+        System.out.println("----------");
+        //id排序
+        ArrayTools.sort(emps,new IdComactor());
+        ArrayTools.print(emps);
+
+        System.out.println("----------");
+        //薪资排序
+        ArrayTools.sort(emps,new SalaryComactor());
+        ArrayTools.print(emps);
+
+        System.out.println("----------");
+        //年龄排序
+        ArrayTools.sort(emps,new AgeComactor());
+        ArrayTools.print(emps);
+    }
+}

+ 27 - 0
JavaSE/day12/src/com/lovecoding/day12/interface01/MobelHDD.java

@@ -0,0 +1,27 @@
+package com.lovecoding.day12.interface01;
+
+public class MobelHDD  implements Usb {
+
+    //抽象的方法 必须重写
+    @Override
+    public void in() {
+        System.out.println("输入请求信号");
+    }
+
+    @Override
+    public void out() {
+        System.out.println("输出视频信号");
+    }
+
+    //默认方法可以选择重写 重写之后没有 default
+    @Override
+    public void start() {
+        Usb.super.start();
+    }
+
+    @Override
+    public void end() {
+        Usb.super.end();
+    }
+    //私有的不能重写
+}

+ 22 - 0
JavaSE/day12/src/com/lovecoding/day12/interface01/TestUsb.java

@@ -0,0 +1,22 @@
+package com.lovecoding.day12.interface01;
+
+public class TestUsb {
+    public static void main(String[] args) {
+
+        //静态 可以直接使用
+        Usb.show();
+        int maxInputNumber = Usb.MAX_INPUT_NUMBER;
+        System.out.println(maxInputNumber);
+
+        //抽象方法  声明子类 实现
+        Usb hdd = new MobelHDD();
+
+        hdd.start();
+        hdd.in();
+        hdd.out();
+        hdd.end();
+
+
+
+    }
+}

+ 30 - 0
JavaSE/day12/src/com/lovecoding/day12/interface01/Usb.java

@@ -0,0 +1,30 @@
+package com.lovecoding.day12.interface01;
+
+//接口
+public interface Usb {
+
+    //常量 public static final 可以省略
+    public static final int MAX_INPUT_NUMBER = 1024*1024*10 ;
+
+    //抽象方法 public abstract 省略
+    public abstract void in();
+    public abstract void out();
+
+    //静态方法 public省略
+    public static void show(){
+        System.out.println("usb 数据传输很快");
+    }
+    //默认方法 default
+    default void start(){
+        System.out.println("开始");
+    }
+    //默认方法 default
+    default void end(){
+        System.out.println("结束");
+    }
+    //私有方法
+    private void get(){
+        System.out.println("usb");
+    }
+
+}

+ 13 - 0
JavaSE/day12/src/com/lovecoding/day12/interface02/MobelHdd.java

@@ -0,0 +1,13 @@
+package com.lovecoding.day12.interface02;
+
+public class MobelHdd implements Usb2{
+    @Override
+    public void in() {
+        System.out.println("输入");
+    }
+
+    @Override
+    public void out() {
+        System.out.println("输出");
+    }
+}

+ 23 - 0
JavaSE/day12/src/com/lovecoding/day12/interface02/Test01.java

@@ -0,0 +1,23 @@
+package com.lovecoding.day12.interface02;
+
+public class Test01{
+
+}
+interface A {
+}
+//接口和接口之间 用exteds 关系
+// 接口的继承可以多继承
+interface B {
+}
+interface C extends B,A {
+}
+
+class E{
+
+}
+
+//多实现 用, 分割  继承类同时实现接口
+class D extends E implements A,B,C {
+}
+
+

+ 24 - 0
JavaSE/day12/src/com/lovecoding/day12/interface02/TestUsb2.java

@@ -0,0 +1,24 @@
+package com.lovecoding.day12.interface02;
+
+public class TestUsb2 {
+    public static void main(String[] args) {
+
+        //多态
+        Usb2 usb2 = new MobelHdd();
+
+        //参数
+        paly(usb2);
+
+        //返回值
+        Usb2 usb21 = get();
+        System.out.println(usb21);
+    }
+
+    public static void paly( Usb2 usb2 ){
+        usb2.out();
+    }
+
+    public static Usb2 get( ){
+        return new MobelHdd();
+    }
+}

+ 9 - 0
JavaSE/day12/src/com/lovecoding/day12/interface02/Usb2.java

@@ -0,0 +1,9 @@
+package com.lovecoding.day12.interface02;
+
+public interface Usb2 {
+
+    public void in();
+
+    public void out();
+
+}

+ 10 - 0
JavaSE/day12/src/com/lovecoding/day12/interface03/Fu.java

@@ -0,0 +1,10 @@
+package com.lovecoding.day12.interface03;
+
+public class Fu {
+
+    //父类方法
+    public void f() {
+        System.out.println("Fu");
+    }
+
+}

+ 7 - 0
JavaSE/day12/src/com/lovecoding/day12/interface03/Fu1.java

@@ -0,0 +1,7 @@
+package com.lovecoding.day12.interface03;
+
+public interface Fu1 {
+    default void f(){
+        System.out.println("Fu1");
+    }
+}

+ 7 - 0
JavaSE/day12/src/com/lovecoding/day12/interface03/Fu2.java

@@ -0,0 +1,7 @@
+package com.lovecoding.day12.interface03;
+
+public interface Fu2 {
+    default void f(){
+        System.out.println("Fu2");
+    }
+}

+ 8 - 0
JavaSE/day12/src/com/lovecoding/day12/interface03/Fu3.java

@@ -0,0 +1,8 @@
+package com.lovecoding.day12.interface03;
+
+public interface Fu3 extends Fu1,Fu2{
+    @Override
+    default void f() {
+        Fu1.super.f();
+    }
+}

+ 35 - 0
JavaSE/day12/src/com/lovecoding/day12/interface03/TestSFVar.java

@@ -0,0 +1,35 @@
+package com.lovecoding.day12.interface03;
+
+public class TestSFVar {
+
+    public static void main(String[] args) {
+        DDD ddd = new DDD();
+        ddd.show();
+    }
+}
+
+class AAA{
+    public static final int b =  1;
+    public int a =  10;
+}
+
+interface BBB {
+    public static final int a =  2;
+}
+interface CCC {
+    public static final int a =  3;
+}
+class DDD extends AAA implements  BBB,CCC{
+
+    public void show(){
+        //模糊
+        //System.out.println(a);
+        //AAA常量
+        System.out.println(AAA.b);
+        //父类
+        System.out.println(super.a);
+        //接口
+        System.out.println(BBB.a);
+    }
+
+}

+ 11 - 0
JavaSE/day12/src/com/lovecoding/day12/interface03/TestZi.java

@@ -0,0 +1,11 @@
+package com.lovecoding.day12.interface03;
+
+public class TestZi {
+    public static void main(String[] args) {
+
+        Zi zi = new Zi();
+
+        zi.f();
+
+    }
+}

+ 25 - 0
JavaSE/day12/src/com/lovecoding/day12/interface03/Zi.java

@@ -0,0 +1,25 @@
+package com.lovecoding.day12.interface03;
+
+public class Zi extends Fu implements Fu1,Fu2{
+
+//    @Override
+//    public void f() {
+//        //生成默认显示第一个
+//        //调用 类名.super.方法
+//        Fu2.super.f();
+//    }
+
+    public void f() {
+        //没有重写 调用父类的 亲爹优先 重写之后调用子类
+
+        //调用调用接口的默认方法
+        Fu1.super.f();
+
+        //调用父类的中方法
+        super.f();
+
+        System.out.println("Zi");
+    }
+
+
+}

+ 49 - 0
JavaSE/day12/src/com/lovecoding/day12/interface04_1/Student.java

@@ -0,0 +1,49 @@
+package com.lovecoding.day12.interface04_1;
+
+public class Student implements Comparable{
+
+    private String name;
+    private int age;
+
+    public Student() {
+    }
+
+    @Override
+    public int compareTo(Object o) {
+
+        //强制转换
+        Student s =  (Student) o;
+        //比较规则
+        //根据名称排序 名称相同根据年龄排序
+        return this.name.compareTo(s.name) == 0 ? this.age - s.age : this.name.compareTo(s.name);
+    }
+
+    public Student(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return "Student{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                '}';
+    }
+}

+ 25 - 0
JavaSE/day12/src/com/lovecoding/day12/interface04_1/TestCompable.java

@@ -0,0 +1,25 @@
+package com.lovecoding.day12.interface04_1;
+
+public class TestCompable {
+
+
+    public static void main(String[] args) {
+
+        String a = "a";
+        String b = "b";
+
+        //String 实现 接口Compableable
+        // a = 97 b = 98
+        int i = a.compareTo(b);
+        System.out.println(i);
+        // 97 - 99 = -2
+        System.out.println("a".compareTo("c"));
+        // 99 - 97 = 2
+        System.out.println("c".compareTo("a"));
+        // 97-97 = 0
+        System.out.println("a".compareTo("a"));
+
+        //compareTo 比较两个对象 第一个大于第二个 正整数  > 0  相同 = 0  小于 < 0 进行排序
+    }
+
+}

+ 37 - 0
JavaSE/day12/src/com/lovecoding/day12/interface04_1/TestStudent.java

@@ -0,0 +1,37 @@
+package com.lovecoding.day12.interface04_1;
+
+public class TestStudent {
+    public static void main(String[] args) {
+        Student[] arr = new Student[5];
+        arr[0] = new Student("a",90);
+        arr[1] = new Student("c",90);
+        arr[2] = new Student("e",71);
+        arr[3] = new Student("d",92);
+        arr[4] = new Student("b",95);
+
+        //单独比较两个对象
+        System.out.println(arr[0].compareTo(arr[0]));
+        System.out.println(arr[1].compareTo(arr[2]));
+        System.out.println(arr[2].compareTo(arr[2]));
+
+        System.out.println("所有学生:");
+        for (Student student : arr) {
+            System.out.println(student);
+        }
+
+        System.out.println("按照学号排序:");
+        for (int i = 1; i < arr.length; i++) {
+            for (int j = 0; j < arr.length-i; j++) {
+                if(arr[j].compareTo(arr[j+1])>0){
+                    Student temp = arr[j];
+                    arr[j] = arr[j+1];
+                    arr[j+1] = temp;
+                }
+            }
+        }
+
+        for (int i = 0; i < arr.length; i++) {
+            System.out.println(arr[i]);
+        }
+    }
+}

+ 40 - 0
JavaSE/day12/src/com/lovecoding/day12/interface04_2/Person.java

@@ -0,0 +1,40 @@
+package com.lovecoding.day12.interface04_2;
+
+public class Person {
+
+    private String name;
+    private int age;
+
+    public Person() {
+    }
+
+
+    public Person(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+    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;
+    }
+
+    @Override
+    public String toString() {
+        return "Person{" +
+                "name='" + name + '\'' +
+                ", age=" + age +
+                '}';
+    }
+}

+ 15 - 0
JavaSE/day12/src/com/lovecoding/day12/interface04_2/PersonCompator.java

@@ -0,0 +1,15 @@
+package com.lovecoding.day12.interface04_2;
+
+import java.util.Comparator;
+
+public class PersonCompator implements Comparator {
+    @Override
+    public int compare(Object o1, Object o2) {
+
+        Person p1 = (Person) o1;
+        Person p2 = (Person) o2;
+
+        //姓名  年龄
+        return p1.getName().compareTo(p2.getName()) == 0 ? p1.getAge() - p2.getAge() : p1.getName().compareTo(p2.getName());
+    }
+}

+ 36 - 0
JavaSE/day12/src/com/lovecoding/day12/interface04_2/TestPerson.java

@@ -0,0 +1,36 @@
+package com.lovecoding.day12.interface04_2;
+
+public class TestPerson {
+    public static void main(String[] args) {
+        Person[] arr = new Person[5];
+        arr[0] = new Person("a",90);
+        arr[1] = new Person("c",90);
+        arr[2] = new Person("e",71);
+        arr[3] = new Person("d",92);
+        arr[4] = new Person("b",95);
+
+        //单独比较两个对象
+        PersonCompator personCompator = new PersonCompator();
+        System.out.println(personCompator.compare(arr[0], arr[1]));
+
+        for (Person person : arr) {
+            System.out.println(person);
+        }
+
+        System.out.println("按照学号排序:");
+        for (int i = 1; i < arr.length; i++) {
+            for (int j = 0; j < arr.length-i; j++) {
+                if( personCompator.compare(arr[j],arr[j+1])>0 ){
+                    Person temp = arr[j];
+                    arr[j] = arr[j+1];
+                    arr[j+1] = temp;
+                }
+            }
+        }
+
+        for (Person person : arr) {
+            System.out.println(person);
+        }
+
+    }
+}

BIN
JavaSE/out/production/day11/com/lovecoding/day11/Outer$Inner.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/Outer$Nei.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/Outer.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/TestMemberInnerClass.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/TestReturn.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/Usb.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/Usb2.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/Usb3.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/abs01/Animal.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/abs01/Dog.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/abs01/Test.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/baozhuang01/Test01.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/Circle.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/Test02.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/Test03.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/baozhuang02/TestExam.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/enum01/TestWeek.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/enum01/Week.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/ex01/Test3.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/ex02/HelloA.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/ex02/HelloB.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/ex02/Test.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/homework/Architect.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/homework/Data.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/homework/Designer.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/homework/Employee.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/homework/Programmer.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/homework/Test.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static01/Person.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static01/TestPerson.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static02/A.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static02/B.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static02/TestStaticMethod01.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static03/A.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static03/TestStatic01.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static04/Fu.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static04/TestZiInit.class


BIN
JavaSE/out/production/day11/com/lovecoding/day11/static04/Zi.class


BIN
JavaSE/out/production/day12/com/lovecoding/day12/ex01/A.class


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