一、今日学习内容:
今天学习的内容主要是继承与多态方面的部分基础知识:
1、继承:
继承是对现实生活中的“分类”概念的一种模拟。
子类自动拥有父类声明为public和protected的成员,这就是继承特性的体现之一。
2、继承权限下类的访问权限
(1)public: 外界可自由访问;
(2)private: 外界不可访问;
(3)protected: 同一包中的子类都可以访问,另一包中的子类(派生于同一个父类)也可以访问;
(4)default: 如果不指明任何权限,则默认同一包中的类可以访问;
3、继承条件下的构造方法调用:
通过 super 调用基类构造方法,必须是子类构造方法中的第一个语句。
4、不允许继承的类:
以final声明的方法不允许覆盖。
以final声明的变量不允许更改。
利用final,可以设计出一种特殊的“只读” 的“不可变类”。
5、不可变的类;
创建“不可变的类”的对象后,此对象的属性不可改,而且也无法从此类派生出新子类。String就是一个典型的例子。(JDK中的实例)
特性:
(1)可以方便和安全地用于多线程环境中,
(2)访问它们可以不用加锁,因而能提供较高的性能。
6、子类与父类方法之间的关系:
由于Java并未对子类方法的命名做过多的限制,因此,子类与父类各自定义的方法之间,可以出现以下三种情况
(1)扩充(Extends):子类定义的方法父类没有同名。
(2)覆盖/重写(Override):子类父类定义了完全一样的方。
(3)重载(Overloads):子类有父类的同名方法,但两者的参数类型或参数数目不一样。
二、今天遇到的问题:
总的来说今天遇到的问提都是一些小的理解性的问题,说起来确实是听起来真的还挺简单的,但是一上手就不行了。所以来说,还是得注重实操。
三、明日学习计划:
明天完成读书笔记。