加入未来软件工作室第三周主要学习类与对象、成员变量与方法、继承、抽象类与接口这些面向对象核心内容。从之前的数组过渡到面向对象编程思维模式发生很大转变难度也有所提升。本周学习内容回顾1.类与对象这是面向对象的入门内容明白了类是事物的抽象模板对象是类的具体实例。学习了类的定义方式掌握使用new关键字创建对象通过对象调用成员变量与成员方法。同时区分了成员变量和局部变量二者在作用范围、存储位置以及默认值上都有区别。成员变量写在类中方法外面堆内存局部变量写在方法内方法参数代码块内部栈内存such aspublic class Demo {// 成员变量int num;public void test(){// 局部变量int a;// System.out.println(a); //报错局部变量没有默认值没赋值不能用a 10;System.out.println(num); //成员变量不赋值也可以输出默认值0}}刚开始练习时经常出现忘记new对象就直接调用方法的问题会触发相关报错通过反复编写Demo练习慢慢理解类和对象之间模板与实例的关系。2.成员变量与方法这部分知识点比较零碎也是学习继承的前置基础。学习了public、private访问修饰符理解封装思想private私有成员无法在外部直接访问需要提供get、set方法进行操作。认识static静态成员静态属于类可以直接使用类名调用静态不能直接访问非静态内容。掌握构造方法构造方法名和类名一致没有返回值用于对象初始化如果手动编写有参构造默认的无参构造就会消失。分清方法重载和方法重写重载发生在同一个类当中方法名相同参数列表不同和返回值无关重写发生在父子继承关系当中子类对父类方法进行改写。3.继承、抽象类这是本周学习难度最大的模块涉及封装、继承、多态面向对象三大特性。学习extends继承Java只支持单继承借助super关键字访问父类成员利用继承实现代码复用。下一步学习学习abstract抽象类 抽象类中可以包含没有方法体的抽象方法抽象类不能直接实例化对象子类需要实现全部抽象方法否则子类同样需要定义为抽象类。了解interface接口 使用implements实现接口一个类可以实现多个接口弥补Java单继承的不足。区分抽象类和接口抽象类可以拥有普通变量与构造方法接口内的变量默认为public static final常量。尝试用面向对象的思路编写代码思考通放在父类特有功能交给子类去实现。知识点未掌握1.String不可被继承2. 一个类只能有一个父类3.一个类可以同时implements多个接口4.一个实现了接口的类不一定必须重写接口内部的抽象方法小结第三周最大的难点就是从面向过程思维切换到面向对象思维。语法可以随时查阅文档但是面向对象的设计思路必须靠多敲代码积累。虽然概念绕写代码经常出现bug但是每解决一个问题对Java的理解就更进一步。