day9
代码块
非静态代码块是按照顺序执行的。
这里为什么不用this.age?答:因为static是类方法,类加载的时候就创建了,this指的是对象,实例化以后才有,所以不能用。
简单属性static int age =1;即可,但是类属性时,
这里没听懂?
为什么非要这样写呢?
代码块在匿名类内部使用是无可替代的, 因为用不了构造,因为构造需要类名,匿名类没有类名,就不能用构造,所以需要其他方法来初始化各种属性,所以用代码块来初始化。(代码块在匿名的内部类中用来初始化属性)
关键字final
1、final修饰类
2、final修饰方法不能被子类重写(下面这个写了两个类在同一个文件中,去掉final就可以运行了)
3、final修饰常量(全局常量是什么意思?)
总结:
抽象类
抽象类举例
练习
模板设计模式
模板方法设计模式
接口1
另一种抽象方式:
举例
接口可以继承
接口(3)
这里没有明白在干嘛?
接口(4)为什么需要用接口?
接口2
这个是描述会唱歌的厨子是一个老师的类
调用:
接口应用举例2
可用接口来接收实例对象
接口的其他问题
类需要必须实现接口中的全部方法。
工厂模式
建立一个返回值为BWM类的对象的抽象方法,该方法是生产汽车的,为后面具体的汽车空间提高方法。
接口内是一个(抽象)函数,返回值是BWM的类,下面具体实现这个函数。
以下实现:汽车生产工厂接口
这里修改并不影响:
这节课没有听懂。
内部类
一个类的内部再写一个类,可以调用类的其他变量,和方法一样?
举例:
class A里的set方法是为了要使用int i等三个属性的,使用属性需要方法。所以写此set方法。
如果调用内部类的时候:
内部类也是一个类啊~
问题:内部类有什么用?外面也能写
内部类主要是解决java不能多重继承的问题。(接口是方法,类有其他属性,接口可以有属性吗?)
面向对象总结
day10
异常
数组越界异常
空指针异常
java异常类层次
捕获异常
异常处理机制
try catch时没必要说明具体类型,即可。
抛出异常
举例
重写方法声明抛出异常的原则
子类重写父类的方法是,子类不能抛出比父类方法更大范围的异常。
举例
人工抛出异常
创建用户自定义异常类
一般轮不到自己写!
java集合概述
HashSet集合
不保证元素的排列顺序
不可重复指的是hashcode不相同。一般情况,equals和hashcode返回结果一致。
集合如何遍历?
如何知道集合的大小?
TreeSet集合
自然排序
遍历
集合是可以存各种数据的(类)
以上就是定制排序
List集合
LIST与arraylist(list是一个接口)
arraylist与vector(两种方法差不多)
Map集合
Map接口与HashMap类
HashMap是对map的一个经典实现
HashMap&Hashtable
TreeMap
TreeMap的自然排序是字典排序
工具类Collections
操作集合的工具类
反转
查找、替换