一、教材学习内容(4.类和对象·2)
1、使用super.方法名可以调用父类的构造方法(包括被子类所隐藏的方法)。
特别地,父类构造方法定义时应注意留一个不带参的构造方法,以防子类省略super。
public class Demo1 {
public static void main(String[] args) {
SubClass_A sc=new SubClass_A(2,3);
System.out.println(sc.i);
System.out.println(sc.j);
}
}
class SuperClass_A
{
public int i=0;
public int j=0;
public SuperClass_A()
{
j=1;
}
}
class SubClass_A extends SuperClass_A
{
public int i;
SubClass_A(int a,int b)
{
super();
i=b;
}
}
2、final关键字可以修饰类、成员变量以及局部变量。作用是1)final类不允许被子类重写2)final变量具有常量的属性,且必须在该变量定义时为它赋初值。
3、对象的上转型对象(有点类似接口回调)
特别地,
1)注意区分子类对象和上转型对象。
2)可以将对象的上转型对象强制转换到一个子类对象,此时的对象又具备子类所拥有的属性和功能。
假设A类是B类的父类,
A a;
B b=new B();
a=b;//此时对象a就是b对象的上转型对象
B b=(B)a;//此时上转型对象强制转换成子类对象
3)不可将父类对象的引用赋给子类对象
4)子类若重写了父类的静态(static)方法,那么子类的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法。
4、继承中的多态性指的是父类的某个方法被其子类重写时,可以产生各自的功能。
5、abstract方法和abstract类(抽象方法、类)
类:1)只允许声明 2)不允许实现抽象方法 3)不允许使用final、static关键字 4)abstract类内可以没有abstract方法
5)abstract类不能用new运算符创建对象(子类必须重写抽象方法) 6)abstract类的对象作上转型对象符合上转型对象属性
7)抽象类可以抽象出重要的行为标准,而不具有探讨行为的实现细节
6、面对抽象编程:是指当设计某种重要的类时,不让该类面向具体的类,而是面向抽象类。
目的:为了应对用户需求的变化,将某个类中经常因需求变化而需要改动的代码从该类中分离出去。
核心:让类中每种可能的变化对应地交给抽象类的一个子类去负责。
7、开-闭原则 对扩展开放,对修改关闭。
二、教材学习中的问题和解决过程
暂无
三、代码调试过程中的问题
暂无
四、学习思考和感悟
暂无
五、学习进度条
代码函数(新增/积累) | 博客量(新增/积累) | 学习时间(新增/积累) | 重要成长 | |
目标 | 7000行 | 30篇 | 400h | |
第五周 | 137/1397 | 1/6 | 5/51 |