第四天回顾:
1.向上造型:
1)超类型的引用指向派生类的对象
2)能点出来什么,看引用的类型
2.方法的重写(override):重新写、覆盖
1)发生在父子类中,方法名相同,参数列表相同,方法体不同
2)重写方法被调用时,看对象的类型
3.重写与重载的区别:
1)重写:发生在父子类中,方法名相同,参数列表相同,方法体不同
"运行期"绑定,看对象的类型
2)重载:发生在同一类中,方法名相同,参数列表不同,方法体不同
"编译期"绑定,看引用/参数的类型
第五天正课笔记:
1.package:
1)作用:避免类的命名冲突
2)包名可以有层次结构,同包中的类命名不能冲突
3)类的全称: 包名.类名
4)建议:包名所有字母都小写
import:
1)同包中的类可以直接访问,
不同包中的类不可以直接访问,想访问有如下两种方式:
1.1)先import再直接访问------建议
1.2)类的全称----------------太繁琐
2.访问控制修饰符:
1)public:公开的,任何类
2)private:私有的,本类
3)protected:受保护的,本类、子类、同包类
4)默认的:什么也不写,本类、同包类
类的访问修饰:public和默认的
类中成员的访问修饰:如上4种都可以
3.static:静态的
1)静态变量:
1.1)由static修饰
1.2)属于类,存储在方法区中,只有一份
1.3)常常通过类名点来访问
1.4)何时用:所有对象所共享的数据(图片、音频、视频等)
2)静态方法:
2.1)由static修饰
2.2)属于类,存储在方法区中,只有一份
2.3)常常通过类名点来访问
2.4)静态方法没有隐式this传递,
所以在静态方法中不能直接访问实例成员
2.5)何时用:方法的操作仅与参数相关而与对象无关
3)静态块:
3.1)由static修饰
3.2)属于类的,在类被加载期间自动执行的
因类只被加载一次,所以静态块只执行一次
3.3)何时用:加载/初始化静态资源(图片、音频、视频等)
4.final:最终的、不可改变的------单独应用率极低
1)修饰变量:变量不可被改变
2)修饰方法:方法不可被重写
3)修饰类:类不可被继承
5.static final:常量,应用率高
1)必须声明同时初始化
2)通过类名点来访问,不可被改变
3)建议:常量名所有字母都大写,多个单词用_分隔
4)编译器在编译时将常量自动替换为具体的值,效率高
5)何时用:有一个数永远不变,并且多次使用