fanjialong 5 dní pred
rodič
commit
af5762dfeb
49 zmenil súbory, kde vykonal 756 pridanie a 0 odobranie
  1. 18 0
      java-base-project10/day13/src/_01_继承练习/demo1/Person.java
  2. 21 0
      java-base-project10/day13/src/_01_继承练习/demo1/Student.java
  3. 9 0
      java-base-project10/day13/src/_01_继承练习/demo1/Test.java
  4. 20 0
      java-base-project10/day13/src/_01_继承练习/demo2/Person.java
  5. 25 0
      java-base-project10/day13/src/_01_继承练习/demo2/Teacher.java
  6. 9 0
      java-base-project10/day13/src/_01_继承练习/demo2/Test.java
  7. 7 0
      java-base-project10/day13/src/_02_多态入门案例/Admin.java
  8. 5 0
      java-base-project10/day13/src/_02_多态入门案例/Person.java
  9. 7 0
      java-base-project10/day13/src/_02_多态入门案例/Student.java
  10. 7 0
      java-base-project10/day13/src/_02_多态入门案例/Teacher.java
  11. 46 0
      java-base-project10/day13/src/_02_多态入门案例/Test.java
  12. 7 0
      java-base-project10/day13/src/_03_多态练习/Anmail.java
  13. 7 0
      java-base-project10/day13/src/_03_多态练习/Cat.java
  14. 7 0
      java-base-project10/day13/src/_03_多态练习/Dog.java
  15. 13 0
      java-base-project10/day13/src/_03_多态练习/Test.java
  16. 9 0
      java-base-project10/day13/src/_04_多态运行特点/demo1/Fu.java
  17. 15 0
      java-base-project10/day13/src/_04_多态运行特点/demo1/Test.java
  18. 9 0
      java-base-project10/day13/src/_04_多态运行特点/demo1/Zi.java
  19. 10 0
      java-base-project10/day13/src/_04_多态运行特点/demo2/Bike.java
  20. 10 0
      java-base-project10/day13/src/_04_多态运行特点/demo2/Car.java
  21. 17 0
      java-base-project10/day13/src/_04_多态运行特点/demo2/Test.java
  22. 9 0
      java-base-project10/day13/src/_04_多态运行特点/demo2/Vehicle.java
  23. 5 0
      java-base-project10/day13/src/_05_多态的弊端/Anmail.java
  24. 11 0
      java-base-project10/day13/src/_05_多态的弊端/Cat.java
  25. 11 0
      java-base-project10/day13/src/_05_多态的弊端/Dog.java
  26. 54 0
      java-base-project10/day13/src/_05_多态的弊端/Test.java
  27. 6 0
      java-base-project10/day13/src/_06_多态综合练习/Anmail.java
  28. 30 0
      java-base-project10/day13/src/_06_多态综合练习/Cat.java
  29. 30 0
      java-base-project10/day13/src/_06_多态综合练习/Dog.java
  30. 43 0
      java-base-project10/day13/src/_06_多态综合练习/Person.java
  31. 19 0
      java-base-project10/day13/src/_06_多态综合练习/Test.java
  32. 27 0
      java-base-project10/day13/src/_07_包管理/Test.java
  33. 4 0
      java-base-project10/day13/src/_07_包管理/demo/Student.java
  34. 4 0
      java-base-project10/day13/src/_07_包管理/demo1/Student.java
  35. 10 0
      java-base-project10/day13/src/_08_权限修饰符/Test.java
  36. 9 0
      java-base-project10/day13/src/_08_权限修饰符/demo1/Fu.java
  37. 8 0
      java-base-project10/day13/src/_08_权限修饰符/demo1/Test1.java
  38. 10 0
      java-base-project10/day13/src/_08_权限修饰符/demo2/Zi.java
  39. 11 0
      java-base-project10/day13/src/_09_final/Days.java
  40. 8 0
      java-base-project10/day13/src/_09_final/Fu.java
  41. 8 0
      java-base-project10/day13/src/_09_final/Test.java
  42. 5 0
      java-base-project10/day13/src/_09_final/Zi.java
  43. 12 0
      java-base-project10/day13/src/_10_代码块/_01_局部代码块/Test.java
  44. 42 0
      java-base-project10/day13/src/_10_代码块/_02_初始化代码块/Student.java
  45. 17 0
      java-base-project10/day13/src/_10_代码块/_02_初始化代码块/Test.java
  46. 16 0
      java-base-project10/day13/src/_11_综合练习/Device.java
  47. 22 0
      java-base-project10/day13/src/_11_综合练习/Phone.java
  48. 22 0
      java-base-project10/day13/src/_11_综合练习/Printer.java
  49. 25 0
      java-base-project10/day13/src/_11_综合练习/Test.java

+ 18 - 0
java-base-project10/day13/src/_01_继承练习/demo1/Person.java

@@ -0,0 +1,18 @@
+package _01_继承练习.demo1;
+
+public class Person {
+    String name;
+    int age;
+
+    public Person() {
+    }
+
+    public Person(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+    public void showInfo(){
+        System.out.println("姓名为:"+ name +"年龄为:"+ age);
+    }
+}

+ 21 - 0
java-base-project10/day13/src/_01_继承练习/demo1/Student.java

@@ -0,0 +1,21 @@
+package _01_继承练习.demo1;
+
+public class Student extends Person{
+    private int studentId;
+    private double score;
+
+    public Student(int studentId, double score) {
+        this("默认姓名",1,studentId,score);
+    }
+
+    public Student(String name, int age, int studentId, double score) {
+        super(name, age);
+        this.studentId = studentId;
+        this.score = score;
+    }
+
+    public void showStudentInfo(){
+        System.out.println("学号为:"+ this.studentId
+                +"分数为:"+ this.score +"名字为:"+ super.name +"年龄为:"+ super.age);
+    }
+}

+ 9 - 0
java-base-project10/day13/src/_01_继承练习/demo1/Test.java

@@ -0,0 +1,9 @@
+package _01_继承练习.demo1;
+
+public class Test {
+    public static void main(String[] args) {
+        Student student = new Student("zhangsan",10,10,100);
+        student.showStudentInfo();
+
+    }
+}

+ 20 - 0
java-base-project10/day13/src/_01_继承练习/demo2/Person.java

@@ -0,0 +1,20 @@
+package _01_继承练习.demo2;
+
+public class Person {
+    String name;
+    int age;
+    String gender;
+
+    public Person() {
+    }
+
+    public Person(String name, int age, String gender) {
+        this.name = name;
+        this.age = age;
+        this.gender = gender;
+    }
+
+    public void showInfo(){
+        System.out.println("姓名:"+ this.name +"年龄:"+ this.age+"性别:"+ this.gender);
+    }
+}

+ 25 - 0
java-base-project10/day13/src/_01_继承练习/demo2/Teacher.java

@@ -0,0 +1,25 @@
+package _01_继承练习.demo2;
+
+public class Teacher extends Person{
+    private int teacherId;
+    private String subject;
+
+    public Teacher(int teacherId, String subject) {
+//
+//        this.teacherId = teacherId;
+//        this.subject = subject;
+        this("默认名称",10,"男",teacherId,subject);
+    }
+
+    public Teacher(String name, int age, String gender, int teacherId, String subject) {
+        super(name, age, gender);
+        this.teacherId = teacherId;
+        this.subject = subject;
+    }
+
+    public void showInfo(){
+        // 打印父类当中name , age , gender
+        super.showInfo();
+        System.out.println("子类 teacherId:"+ teacherId + " 学科:"+ subject);
+    }
+}

+ 9 - 0
java-base-project10/day13/src/_01_继承练习/demo2/Test.java

@@ -0,0 +1,9 @@
+package _01_继承练习.demo2;
+
+public class Test {
+    public static void main(String[] args) {
+        Teacher teacher =
+                new Teacher("zhangsan",10,"男",10,"shuxue ");
+        teacher.showInfo();
+    }
+}

+ 7 - 0
java-base-project10/day13/src/_02_多态入门案例/Admin.java

@@ -0,0 +1,7 @@
+package _02_多态入门案例;
+
+public class Admin extends Person{
+    public void show(){
+        System.out.println("管理员注册信息");
+    }
+}

+ 5 - 0
java-base-project10/day13/src/_02_多态入门案例/Person.java

@@ -0,0 +1,5 @@
+package _02_多态入门案例;
+
+public class Person {
+    public void show(){};
+}

+ 7 - 0
java-base-project10/day13/src/_02_多态入门案例/Student.java

@@ -0,0 +1,7 @@
+package _02_多态入门案例;
+
+public class Student extends Person{
+    public void show(){
+        System.out.println("学生注册信息");
+    }
+}

+ 7 - 0
java-base-project10/day13/src/_02_多态入门案例/Teacher.java

@@ -0,0 +1,7 @@
+package _02_多态入门案例;
+
+public class Teacher extends Person{
+    public void show(){
+        System.out.println("老师注册信息");
+    }
+}

+ 46 - 0
java-base-project10/day13/src/_02_多态入门案例/Test.java

@@ -0,0 +1,46 @@
+package _02_多态入门案例;
+
+public class Test {
+    public static void main(String[] args) {
+//        registerStudent(new Student());
+//        registerTeacher(new Teacher());
+//        registerAdmin(new Admin());
+        register(new Admin());
+        /**
+         * 多态注意事项:
+         * 多态一般是出现在继承/实现关系中
+         *
+         * 父类去接受子类类型   , 让父类具备多种形态
+         * Person p = new Student();  person是 学生形态
+         * Person p =  new Teacher(); person是老师形态
+         */
+    }
+
+    public static void register(Person person){
+        person.show();
+    }
+
+//    /**
+//     * 注册学生
+//     */
+//    public static void registerStudent(Student student){
+//        student.show();
+//    }
+//
+//    /**
+//     * 注册老师
+//     */
+//    public static void registerTeacher(Teacher teacher){
+//        teacher.show();
+//    }
+//
+//    /**
+//     * 注册管理员
+//     */
+//    public static void registerAdmin(Admin admin){
+//        admin.show();
+//    }
+
+
+
+}

+ 7 - 0
java-base-project10/day13/src/_03_多态练习/Anmail.java

@@ -0,0 +1,7 @@
+package _03_多态练习;
+
+public class Anmail {
+    public void eat(){
+        System.out.println("吃东西");
+    }
+}

+ 7 - 0
java-base-project10/day13/src/_03_多态练习/Cat.java

@@ -0,0 +1,7 @@
+package _03_多态练习;
+
+public class Cat extends Anmail {
+    public void eat(){
+        System.out.println("吃鱼");
+    }
+}

+ 7 - 0
java-base-project10/day13/src/_03_多态练习/Dog.java

@@ -0,0 +1,7 @@
+package _03_多态练习;
+
+public class Dog extends Anmail{
+    public void eat(){
+        System.out.println("吃狗粮");
+    }
+}

+ 13 - 0
java-base-project10/day13/src/_03_多态练习/Test.java

@@ -0,0 +1,13 @@
+package _03_多态练习;
+
+public class Test {
+    public static void feedAnimal(Anmail anmail){
+        anmail.eat();
+    }
+
+    public static void main(String[] args) {
+        feedAnimal(new Dog());
+        feedAnimal(new Cat());
+
+    }
+}

+ 9 - 0
java-base-project10/day13/src/_04_多态运行特点/demo1/Fu.java

@@ -0,0 +1,9 @@
+package _04_多态运行特点.demo1;
+
+public class Fu {
+    String name = "父的name";
+
+    public void eat(){
+        System.out.println("父类吃东西方法");
+    }
+}

+ 15 - 0
java-base-project10/day13/src/_04_多态运行特点/demo1/Test.java

@@ -0,0 +1,15 @@
+package _04_多态运行特点.demo1;
+
+public class Test {
+    public static void main(String[] args) {
+        // 多态创建对象
+        Fu f = new Zi();
+        // 利用多态调用成员变量和成员方法
+        /**
+         * 调用成员变量: 编译看左边 , 运行看的左边
+         * 调用成员方法: 编译看左边, 运行看右边
+         */
+        System.out.println(f.name);    // fu的name
+        f.eat();                       // 子当中eat 方法
+    }
+}

+ 9 - 0
java-base-project10/day13/src/_04_多态运行特点/demo1/Zi.java

@@ -0,0 +1,9 @@
+package _04_多态运行特点.demo1;
+
+public class Zi extends Fu {
+    private String name = "子的name";
+
+    public void eat(){
+        System.out.println("子类吃方法");
+    }
+}

+ 10 - 0
java-base-project10/day13/src/_04_多态运行特点/demo2/Bike.java

@@ -0,0 +1,10 @@
+package _04_多态运行特点.demo2;
+
+public class Bike extends Vehicle {
+    String name = "自行车";
+
+    @Override
+    public void run() {
+        System.out.println("自行车骑山路");
+    }
+}

+ 10 - 0
java-base-project10/day13/src/_04_多态运行特点/demo2/Car.java

@@ -0,0 +1,10 @@
+package _04_多态运行特点.demo2;
+
+public class Car extends Vehicle {
+    String name = "小汽车";
+
+    @Override
+    public void run() {
+        System.out.println("小汽车跑高速");
+    }
+}

+ 17 - 0
java-base-project10/day13/src/_04_多态运行特点/demo2/Test.java

@@ -0,0 +1,17 @@
+package _04_多态运行特点.demo2;
+
+public class Test {
+    // bike
+    public static void useVehicle(Vehicle vehicle){
+        // 成员变量  多态编译看左边运行看左边,  只能够打印父类明成无法打印子类的名称
+        System.out.println("交通工具名称"+ vehicle.name);
+        vehicle.run();
+    }
+
+    public static void main(String[] args) {
+        Vehicle vehicle = new Bike();
+        useVehicle(vehicle);
+
+        useVehicle(new Car());
+    }
+}

+ 9 - 0
java-base-project10/day13/src/_04_多态运行特点/demo2/Vehicle.java

@@ -0,0 +1,9 @@
+package _04_多态运行特点.demo2;
+
+public class Vehicle {
+    String name = "交通工具";
+
+    public void run(){
+        System.out.println("交通工具行驶");
+    }
+}

+ 5 - 0
java-base-project10/day13/src/_05_多态的弊端/Anmail.java

@@ -0,0 +1,5 @@
+package _05_多态的弊端;
+
+public class Anmail {
+    public void eat(){}
+}

+ 11 - 0
java-base-project10/day13/src/_05_多态的弊端/Cat.java

@@ -0,0 +1,11 @@
+package _05_多态的弊端;
+
+public class Cat extends Anmail {
+    public void eat(){
+        System.out.println("吃鱼");
+    }
+
+    public void catchMouse(){
+        System.out.println("抓老鼠");
+    }
+}

+ 11 - 0
java-base-project10/day13/src/_05_多态的弊端/Dog.java

@@ -0,0 +1,11 @@
+package _05_多态的弊端;
+
+public class Dog extends Anmail{
+    public void eat(){
+        System.out.println("吃骨头");
+    }
+
+    public void lookhome(){
+        System.out.println("看家");
+    }
+}

+ 54 - 0
java-base-project10/day13/src/_05_多态的弊端/Test.java

@@ -0,0 +1,54 @@
+package _05_多态的弊端;
+
+public class Test {
+    /**
+     * Anmail 父类 : 父类当中有一个eat()
+     * 子类 Dog:  eat() 吃骨头   lookhome 看家
+     * 子类cat : eat() 吃鱼      catchMouse 抓老师
+     */
+
+    public static void main(String[] args) {
+
+        /**
+         * 多态弊端:
+         * 无法调用子类特有变量和方法
+         */
+        // 调用cat 当中抓老鼠方法
+        // 父类型大类型 子类型小类型   父->子
+        Anmail anmail = new Dog();
+        anmail.eat();
+        Anmail anmail1 = new Cat();
+        anmail1.eat();
+        Dog dog = (Dog) anmail;
+        dog.lookhome();
+        // 调用dog 当中看家方法
+        Cat cat = (Cat) anmail1;
+        cat.catchMouse();
+
+        /**
+         * 已经解决了 不能够去调用子类方法问题
+         * 可能有新的问题: 在类型转换的时候可能出现问题
+         * ClassCastException: 类在做类型转换的时候出现异常 通常情况下就是你在做强转的时候出现问题
+         */
+//        Dog dog1 = (Dog) anmail1;
+//        dog1.lookhome();
+
+        /**
+         * 我们在做类型转换的时候难免会出现类型转换问题
+         *
+         * 为了避免这种问题 学习一个关键字instanceOf
+         * 判断他是否是某一个类型
+         * 比如  anmail instanceOf Dog  boolean   判断他是否是狗类型
+         * 如果为true 就表示他是Dog 类型 如果为flase 表示不是Dog 类型
+         */
+        if(anmail1 instanceof Dog){
+            Dog dog1 = (Dog) anmail1;
+            dog1.lookhome();
+        }else if(anmail1 instanceof Cat){
+            Cat cat1 = (Cat) anmail1;
+            cat1.catchMouse();
+        }
+    }
+
+
+}

+ 6 - 0
java-base-project10/day13/src/_06_多态综合练习/Anmail.java

@@ -0,0 +1,6 @@
+package _06_多态综合练习;
+
+public class Anmail {
+
+    public void eat(){}
+}

+ 30 - 0
java-base-project10/day13/src/_06_多态综合练习/Cat.java

@@ -0,0 +1,30 @@
+package _06_多态综合练习;
+
+public class Cat extends Anmail{
+    private int age;
+    private String color;
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        this.age = age;
+    }
+
+    public String getColor() {
+        return color;
+    }
+
+    public void setColor(String color) {
+        this.color = color;
+    }
+
+    public String eat(String something){
+       return "猫眯着眼睛侧着头吃"+ something;
+    }
+
+    public void catchMouse(){
+        System.out.println("猫抓老鼠");
+    }
+}

+ 30 - 0
java-base-project10/day13/src/_06_多态综合练习/Dog.java

@@ -0,0 +1,30 @@
+package _06_多态综合练习;
+
+public class Dog extends Anmail{
+    private int age;
+    private String color;
+
+    public int getAge() {
+        return age;
+    }
+
+    public void setAge(int age) {
+        this.age = age;
+    }
+
+    public String getColor() {
+        return color;
+    }
+
+    public void setColor(String color) {
+        this.color = color;
+    }
+
+    public String eat(String something){
+        return "狗两只前腿思思的抱住"+something+"猛吃";
+    }
+
+    public void lookHome(){
+        System.out.println("狗看家");
+    }
+}

+ 43 - 0
java-base-project10/day13/src/_06_多态综合练习/Person.java

@@ -0,0 +1,43 @@
+package _06_多态综合练习;
+
+public class Person {
+    private String name;
+    private int age;
+
+    public Person(String name, int age) {
+        this.name = name;
+        this.age = age;
+    }
+
+//    public void keepPet(Dog dog , String something){
+//        System.out.println("年龄为:"+this.age+"的"+this.name+
+//                "养了一只"+dog.getColor()+"的" +dog.getAge() +"岁的狗");
+//
+//        System.out.println(dog.getAge()+"岁的"+ dog.getColor()+"的"+ dog.eat(something));
+//    }
+//
+//
+//    public void keepPet(Cat cat,String something){
+//        System.out.println("年龄为:"+this.age+"的"+this.name+
+//                "养了一只"+cat.getColor()+"的" +cat.getAge() +"岁的猫");
+//        System.out.println(cat.getAge()+"岁的"+ cat.getColor()+"的"+ cat.eat(something));
+//    }
+
+    public void keepPet(Anmail anmail, String something){
+        // 判断宠物类型是什么类型
+        if(anmail instanceof Dog){
+            Dog dog = (Dog) anmail;
+            System.out.println("年龄为:"+this.age+"的"+this.name+
+                    "养了一只"+dog.getColor()+"的" +dog.getAge() +"岁的狗");
+
+            System.out.println(dog.getAge()+"岁的"+ dog.getColor()+"的"+ dog.eat(something));
+        }else if(anmail instanceof Cat){
+            Cat cat= (Cat) anmail;
+            System.out.println("年龄为:"+this.age+"的"+this.name+
+                    "养了一只"+cat.getColor()+"的" +cat.getAge() +"岁的猫");
+            System.out.println(cat.getAge()+"岁的"+ cat.getColor()+"的"+ cat.eat(something));
+        }else{
+            System.out.println("其他宠物吃东西");
+        }
+    }
+}

+ 19 - 0
java-base-project10/day13/src/_06_多态综合练习/Test.java

@@ -0,0 +1,19 @@
+package _06_多态综合练习;
+
+public class Test {
+    public static void main(String[] args) {
+        Dog dog = new Dog();
+        dog.setAge(2);
+        dog.setColor("黑颜色");
+
+        Cat cat = new Cat();
+        cat.setAge(3);
+        cat.setColor("灰颜色");
+
+        Person person = new Person("老王",30);
+        Person person1 = new Person("李四",25);
+
+        person.keepPet(dog,"骨头");
+        person1.keepPet(cat,"鱼");
+    }
+}

+ 27 - 0
java-base-project10/day13/src/_07_包管理/Test.java

@@ -0,0 +1,27 @@
+package _07_包管理;
+
+
+
+public class Test {
+    /**
+     * 以后我们开发可能用到别提供的类比如jdk提供的类
+     * jdk提供的类分成很多包的类
+     * jdk java.long : 核心包 , 如果你用的是核心包类你可以不用导入
+     *     非java.long 包下的类, 输入非核心包的类就必须进行import 导入才可以使用
+     * @param args
+     */
+    public static void main(String[] args) {
+
+        /**
+         * 这个类当中如果用到了多个包下同名类
+         * 比如demo Student  demo1包下面也有Student
+         *
+         * 在这个类中上面只允许导入一个包
+         * 其他类在使用的时候必须写全 类全路径
+         * 完整包的路径.类名
+         *
+         */
+        _07_包管理.demo.Student student = new _07_包管理.demo.Student();
+        _07_包管理.demo1.Student student1 = new  _07_包管理.demo1.Student();
+    }
+}

+ 4 - 0
java-base-project10/day13/src/_07_包管理/demo/Student.java

@@ -0,0 +1,4 @@
+package _07_包管理.demo;
+
+public class Student {
+}

+ 4 - 0
java-base-project10/day13/src/_07_包管理/demo1/Student.java

@@ -0,0 +1,4 @@
+package _07_包管理.demo1;
+
+public class Student {
+}

+ 10 - 0
java-base-project10/day13/src/_08_权限修饰符/Test.java

@@ -0,0 +1,10 @@
+package _08_权限修饰符;
+
+import _08_权限修饰符.demo1.Fu;
+
+public class Test {
+    public static void main(String[] args) {
+        Fu fu = new Fu();
+//        System.out.println(fu.name);
+    }
+}

+ 9 - 0
java-base-project10/day13/src/_08_权限修饰符/demo1/Fu.java

@@ -0,0 +1,9 @@
+package _08_权限修饰符.demo1;
+
+public class Fu {
+    protected String name;
+
+    public void eat(){
+        System.out.println(name);
+    }
+}

+ 8 - 0
java-base-project10/day13/src/_08_权限修饰符/demo1/Test1.java

@@ -0,0 +1,8 @@
+package _08_权限修饰符.demo1;
+
+public class Test1 {
+    public static void main(String[] args) {
+        Fu fu = new Fu();
+        System.out.println(fu.name);
+    }
+}

+ 10 - 0
java-base-project10/day13/src/_08_权限修饰符/demo2/Zi.java

@@ -0,0 +1,10 @@
+package _08_权限修饰符.demo2;
+
+import _08_权限修饰符.demo1.Fu;
+
+public class Zi extends Fu {
+
+    public void eat(){
+        System.out.println(this.name);
+    }
+}

+ 11 - 0
java-base-project10/day13/src/_09_final/Days.java

@@ -0,0 +1,11 @@
+package _09_final;
+
+public class Days {
+    public static final int MONDAY = 1;
+    public static final int TUESDAY = 2;
+    public static final int WEDNESDAY = 3;
+    public static final int THURSDAY = 4;
+    public static final int FRIDAY = 5;
+    public static final int SATURDAY = 6;
+    public static final int SUNDAY = 7;
+}

+ 8 - 0
java-base-project10/day13/src/_09_final/Fu.java

@@ -0,0 +1,8 @@
+package _09_final;
+
+public class Fu {
+
+    public final void eat(){
+
+    }
+}

+ 8 - 0
java-base-project10/day13/src/_09_final/Test.java

@@ -0,0 +1,8 @@
+package _09_final;
+
+public class Test {
+    public static final int MONDAY = 1;
+    public static void main(String[] args) {
+        System.out.println(Days.MONDAY);
+    }
+}

+ 5 - 0
java-base-project10/day13/src/_09_final/Zi.java

@@ -0,0 +1,5 @@
+package _09_final;
+
+public class Zi extends Fu {
+
+}

+ 12 - 0
java-base-project10/day13/src/_10_代码块/_01_局部代码块/Test.java

@@ -0,0 +1,12 @@
+package _10_代码块._01_局部代码块;
+
+public class Test
+{
+    public static void main(String[] args) {
+        // 这个就是一个局部代码块
+        {
+            int age = 10;
+            System.out.println(age);
+        }
+    }
+}

+ 42 - 0
java-base-project10/day13/src/_10_代码块/_02_初始化代码块/Student.java

@@ -0,0 +1,42 @@
+package _10_代码块._02_初始化代码块;
+
+public class Student {
+    private String name;
+    private int age;
+    //初始化代码块当中去做初始化
+    static {
+        System.out.println("这是静态代码块");
+    }
+
+    {
+//        this.name = "默认名称";
+//        this.age = 1;
+        System.out.println("这是初始化代码块执行");
+    }
+
+    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 Student() {
+        this("默认名称",1);
+    }
+
+    public Student(String name, int age) {
+        System.out.println("这是全参数构造器");
+        this.name = name;
+        this.age = age;
+    }
+}

+ 17 - 0
java-base-project10/day13/src/_10_代码块/_02_初始化代码块/Test.java

@@ -0,0 +1,17 @@
+package _10_代码块._02_初始化代码块;
+
+public class Test {
+    public static void main(String[] args) {
+//        Student student = new Student("zhangsan",10);
+//        Student student1 = new Student();
+//        Student student2 = new Student();
+//        System.out.println(student1.getName());
+//        System.out.println(student1.getAge());
+
+        /**
+         * 必须一般在一个系统当中通常需要提前先创建一个管理员
+         * 管理员admin    1
+         */
+
+    }
+}

+ 16 - 0
java-base-project10/day13/src/_11_综合练习/Device.java

@@ -0,0 +1,16 @@
+package _11_综合练习;
+
+public class Device {
+    private final String brand = "通讯设备";
+    protected double price;
+
+    {
+        this.price=1000;
+    }
+
+    public void work(){}
+    public String getBrand(){
+        return brand;
+    }
+
+}

+ 22 - 0
java-base-project10/day13/src/_11_综合练习/Phone.java

@@ -0,0 +1,22 @@
+package _11_综合练习;
+
+public class Phone extends Device{
+
+    private String storege;
+
+    public void setStorege(String storege) {
+        this.storege = storege;
+    }
+
+    static {
+        System.out.println("手机类加载中");
+    }
+    @Override
+    public void work() {
+        System.out.println("手机拨打电话,存储容量为:"+storege);
+    }
+
+    public void takePhoto(){
+        System.out.println("手机拍照");
+    }
+}

+ 22 - 0
java-base-project10/day13/src/_11_综合练习/Printer.java

@@ -0,0 +1,22 @@
+package _11_综合练习;
+
+public class Printer extends Device{
+    private String type;
+
+    public void setType(String type) {
+        this.type = type;
+    }
+
+    {
+        this.price = 2000;
+    }
+
+    @Override
+    public void work() {
+        System.out.println(type +"打印机正在打印");
+    }
+
+    public void scan(){
+        System.out.println("打印机扫描文件");
+    }
+}

+ 25 - 0
java-base-project10/day13/src/_11_综合练习/Test.java

@@ -0,0 +1,25 @@
+package _11_综合练习;
+
+public class Test {
+    public static void useDevice(Device device){
+        System.out.println("设备品牌"+ device.getBrand() +"设备价格"+device.price);
+        device.work();
+        if(device instanceof Phone){
+            Phone phone = (Phone) device;
+            phone.takePhoto();
+        }else if(device instanceof Printer){
+            Printer printer = (Printer) device;
+            printer.scan();
+        }
+    }
+
+    public static void main(String[] args) {
+        Phone phone = new Phone();
+        phone.setStorege("10G");
+        useDevice(phone);
+
+        Printer printer = new Printer();
+        printer.setType("激光");
+        useDevice(printer);
+    }
+}