传智播客javase总结 3,传智播客javase总结
传智播客javase总结 3,传智播客javase总结
day08
1、如何制作帮助文档
1、写一个类
2、加入文档注释
3、通过javadoc工具生产即可
javadoc -d 目录 -author -version ArrayTool.java
2、通过jdk提供的api学习使用类
3、代码块
1、用{ } 括起来的代码
2、分类:
A:局部代码快
用于限定的生命周期,及早释放,提高内存利用率。
B:构造代码块
把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。
C:静态代码块,构造代码块,构造方法的顺序问题?
静态代码块 > 构造代码块 > 构造方法
4、继承
1、特点:
A:java中只支持单继承
B:java中可以多层继承
2、关键字 : super 访问父类
this 访问当前类
override 重写
overload 重载
day09
1、由于继承中有一个现象: 方法重写。所以父类的功能,就会被子类给覆盖掉,有些时候,我们不想让子类去覆盖掉父类的功能,只能让它使用,使用关键字:final
2、对象间的转型问题:
向上转型:
Fu f = new Zi();
向下转型: Zi z = (Zi)f;
final关键字
1、是最终的意思,可以修饰类、方法、变量
2、特点:
A:它修饰的类,不能被继承
B:它修饰的方法,不能被重写
C:它修饰的变量,是一个变量
3、面试相关:
A:局部变量:
a:基本类型 值不能改变
b:引用类型 地址值不能改变,但是其对象的内容是可以改变的。
B:初始化时机:
a:只能初始化一次
b:常见的给值 定义的时候,构造方法中
多态(掌握)
1、同一个对象在不同时刻体现出来的不同状态
2、多态的前提
A:有继承或者实现的时候
B:有方法重写
C:有父类或者接口引用子类对象。
多态的分类:
a:具体类多态
class Fu()
class Zi extend Fu{ }
Fu f = new Zi();
b:抽象类多态
abstract class Fu{ }
class Zi extend Fu { }
Fu f = new Zi();
c:接口多态
interface Fu{}
class Zi implements Fu() { }
Fu f = new Zi();
3、多态中成员访问特点
A:成员变量
编译看左边,,运行看右边。
B:构造方法 子类的构造都会默认 访问父类构造
C:成员方法:编译看左边,,,运行看右边
D:静态方法 : 编译看右边,运行看左边
4、多态的好处
A:提高代码的维护性 (继承体现)
B:提高代码的扩展性(多态体现)
5、 多态中转型
A:向上转型 从子到父
B:向下转型 从父到子
6、孔子装爹案例。
抽象类
1、把多个共性的东西提取到一个类中,这是继承的做法。但是呢?这多个共性的东西,在有些时候,方法声明一样,但方法体不一样,也就是说,方法声明一样,但是具体到每个具体的对象在具体实现的时候内容不一样,所以,我们在定义这些共性的方法的时候,就不能给出具体的方法体。
而一个没有具有方法体的方法是抽象方法。在这一个类中,如果有抽象方法,该类必须定义为抽象类。
2、特点:
A:抽象类和抽象方法必须用关键字 abstract修饰。
B:抽象类不一定有抽象方法,但是抽象方法的类一定是抽象类。
C:抽象类不能实例化
D:抽象类的子类
a: 是一个抽象类
b:是一个具体类,这个类必须重写抽象类中的所有方法。
3、几个小问题
A:抽象类有构造方法,不能实例化,那么构造方法有什么用? 用于子类访问父类数据的初始化。
B:一个类如果没有抽象方法,却定义了抽象类,有什么用? 为了不让创建对象。
C:abstract 不能和哪些关键字共存?
a:final 冲突
b:private 冲突
c: static 无意义
4、接口 interface
implements 接口名
后期培养的功能。
相关文章
- 暂无相关文章
用户点评