标签:包含 构造函数 rac style 构造方法 abstract rgs clone 函数
使用super关键字
构造函数的调用时机
在类层次中,从超类到子类按照继承顺序调用构造函数。
动态方法调度
实现原理:当通过超类引用调用重写的方法时,Java根据在调用时所引用对象的类型来决定调用哪个版本的方法。
public class A { void callme() { System.out.println("Inside A‘s callme method."); } } public class B extends A { @Override void callme() { System.out.println("Inside B‘s callme method."); } } public class C extends A { @Override void callme() { System.out.println("Inside C‘s callme method."); } } public class Dispatch { public static void main(String args[]) { A a = new A(); B b = new B(); C c = new C(); A r; r = a; r.callme(); r = b; r.callme(); r = c; r.callme(); } } result: Inside A‘s callme method. Inside B‘s callme method. Inside C‘s callme method.
使用抽象类
抽象方法
abstract type name(parameter-list);
抽象类:包含一个或者多个抽象方法的类。
注意点:
在继承中使用final关键字
Object类
Object是一个特殊的类,所有的其他类都是Object的子类。
Object类定义了以下方法
方法 | 用途 |
Object clone() | 创建一个和将要赋值的对象完全相同的新对象 |
boolean equals(Object object) | 判断一个对象是否和另一个对象相等 |
void finalize() | 在回收不再使用的对象之前调用 |
Class<?> getClass() | 在运行时获取对象所属的类 |
int hashCode() | 返回与调用对象相关联的散列值 |
void notify() | 恢复执行在调用对象上等待的某个线程 |
void notifyAll() | 恢复执行在调用对象上等待的所有线程 |
String toString() | 返回一个描述对象的字符串 |
void wait() | 等待另一个线程的执行 |
void wait(long milliseconds) | |
void wait(long milliseconds, int nanoseconds) |
其中getClass(), notify(), notifyAll()以及wait()方法都被声明为final。
标签:包含 构造函数 rac style 构造方法 abstract rgs clone 函数
原文地址:https://www.cnblogs.com/chris-jichen/p/9880200.html