zoukankan      html  css  js  c++  java
  • Java基础-继承

    使用super关键字

    • 使用super调用超类的构造函数
    • 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);

      抽象类:包含一个或者多个抽象方法的类。

        注意点:

    • 不同通过new运算实例化抽象类
    • 不能声明抽象的构造方法
    • 不能声明抽象的静态方法

    在继承中使用final关键字

    • 使用final关键字阻止重写
    • 使用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。

  • 相关阅读:
    CentOS6.2编译安装Nginx1.2.0
    mysql之主从复制篇
    CentOS6.2编译安装PHP5.4.0
    c# 多线程 编程
    QQ空间及邮箱验证码登录的校验方式及自动登录的解决方案
    C# 动态编译、动态执行、动态调试
    在Visual C#中用ListView显示数据记录
    推荐一个免费的HTTP抓包分析工具 Fiddler Web Debugger
    C#简繁体转换方法(Microsoft.Office.Interop.Word)
    C#读取字符串类型XML
  • 原文地址:https://www.cnblogs.com/chris-jichen/p/9880200.html
Copyright © 2011-2022 走看看