day9
代码块
非静态代码块是按照顺序执行的。
这里为什么不用this.age?答:因为static是类方法,类加载的时候就创建了,this指的是对象,实例化以后才有,所以不能用。
简单属性static int age =1;即可,但是类属性时,
这里没听懂?
为什么非要这样写呢?
代码块在匿名类内部使用是无可替代的, 因为用不了构造,因为构造需要类名,匿名类没有类名,就不能用构造,所以需要其他方法来初始化各种属性,所以用代码块来初始化。(代码块在匿名的内部类中用来初始化属性)
关键字final
1、final修饰类
2、final修饰方法不能被子类重写(下面这个写了两个类在同一个文件中,去掉final就可以运行了)
3、final修饰常量(全局常量是什么意思?)
总结:
抽象类
抽象类举例
练习
模板设计模式
模板方法设计模式
接口1
另一种抽象方式:
举例
接口可以继承
接口(3)
这里没有明白在干嘛?
接口(4)为什么需要用接口?
接口2
这个是描述会唱歌的厨子是一个老师的类
调用:
接口应用举例2
可用接口来接收实例对象
接口的其他问题
类需要必须实现接口中的全部方法。
工厂模式
内部类
面向对象总结
day10