Object类中定义有:
Public boolean equals(Object obj)方法
提供定义对象是否“相等”逻辑。
Object的equals方法定义为x equals(y)当x和y是同一个对象的应用时返回true否则返回false
J2SDK提供的一些类,如String ,Date等,重写了Object的方法,调用这些类的equals方法, x equals(y)当x和y所引用的对象是同一个对象且属性内容相等时(并不一定是相同对象),返回true否则返回false.
可以根据需要在用户自定义类型中重写equals方法
1. 一个基类的引用类型变量可以“指向”其子类的对象
2. 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法);
3. 可以使用引用变量instanceof类名 来判断引用型变量所“指向”的对象是否属于该类或该类的子类
4. 子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之称为向下转型(downcasting)
动态绑定是指“在执行期间(而不是编译期间)”判断所引用对象的实际类型,根据其实际的类型调整其相应的方法
三个必要条件:1,要有继承2,要有重写3.父类引用指向子类对象
1. 用abstract关键字来修饰一个类时,这个类叫做抽象类;用abstract来修饰一个方法,该方法叫做抽象方法
2. 含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写
3. 抽象方法不能被实例化
4. 抽象方法只需声明,而不需实现
1. Final的变量的值不能够被改变
a) Final的成员变量
b) Final的局部变量
2. Final的方法不能够被重写
3. Final的类不能够被继承
1. 多个无关的类可以实现同一个接口
2. 一个类可以实现多个无关的接口
3. 与继承关系类似,接口与实现类之间存在多态性
4. 接口是抽象方法和常量值的定义的集合
5. 从本质上将,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
6. 接口定义的举例:
Public interface Runner{
Public static final int id=1;
Public void start();
Public void run();
Public void stop();
}
7. 接口的特性
8. 接口可以多重实现
9. 接口中声明的属性为public static final 的;也只能是public static final的;
10. 接口中只能定义抽象方法,而且这些方法默认为public的、也只能是public的;
11. 接口可以继承其它的接口,并添加新的属性和抽象方法
Java异常概念
Java异常的分类
异常的捕获和处理