首页 > 其他分享 >静态绑定和动态绑定

静态绑定和动态绑定

时间:2024-09-18 19:54:07浏览次数:3  
标签:调用 静态 绑定 动态 dynamicBinding public

Java中的静态绑定与动态绑定:

在 Java 中,绑定指的是将方法调用与实际的方法实现进行关联的过程。绑定有两种主要形式:静态绑定(也称为早期绑定或编译期绑定)和动态绑定(也称为晚期绑定或运行期绑定)。

静态绑定:

静态绑定通常发生在编译阶段。当方法调用的位置是在编译时期就已经确定时,就发生了静态绑定。静态绑定的例子包括静态方法、私有方法、构造器以及最终方法等。

代码示例如下:

package oneHundredDayPlan.fourDay;

//静态绑定代码示例
public class One {
    public static void main(String[] args) {
        System.out.println(add(5, 10));//静态方法
    }

    public static int add(int a, int b) {
        return a + b;
    }
}

动态绑定:

与静态绑定不同,动态绑定通常发生在运行时。当方法调用的位置是在运行时期才能确定时,就发生了动态绑定。动态绑定主要与继承和多态有关,即当通过父类引用调用子类的方法时。

代码示例如下:

package oneHundredDayPlan.fourDay;
//动态绑定代码示例

class Animal {
    public void dynamicBinding() {
        System.out.println("dynamic binding");
    }
}

class Dog extends Animal {
    @Override
    public void dynamicBinding() {
        System.out.println("dynamic");
    }
}

class Cat extends Animal {
    @Override
    public void dynamicBinding() {
        System.out.println("binding");
    }
}

public class Two {
    public static void main(String[] args) {
        Animal a = new Dog();
        a.dynamicBinding();//dynamic

        Animal b = new Cat();
        b.dynamicBinding();//binding
    }
}

在这个例子中,dynamicBinding()方法是通过Animal引用来调用的,但实际上调用哪个类的方法取决于运行时创建的对象是什么,这就是动态绑定的一个例子。

总结:

静态绑定:

在编译时期就能确定方法调用的目标。例如:静态方法、构造函数、最终方法等。

动态绑定:

在运行时才能确定方法调用的目标,这是通过继承和多态来实现的。

通过以上示例可以看到静态绑定和动态绑定的区别在于方法的选择是在编译时期还是运行时期决定的。静态绑定通常涉及到固定的方法调用,而动态绑定涉及到多态的行为。

标签:调用,静态,绑定,动态,dynamicBinding,public
From: https://blog.csdn.net/2402_82356599/article/details/142341311

相关文章

  • Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
    #!/bin/bash#Cross-compileenvironmentforAndroidonARM64andx86##ContentslicensedunderthetermsoftheOpenSSLlicense#http://www.openssl.org/source/license.html##Seehttp://wiki.openssl.org/index.php/FIPS_Library_and_Android#andhttp:......
  • zblog静态分类目录访问出现403错误
    当使用Z-Blog静态化分类目录后出现403错误,这通常意味着服务器拒绝了访问请求,可能是由于权限设置不当、Web服务器配置错误或其他安全限制导致的。以下是针对不同情况的一些常见解决方案。1.检查文件和目录权限问题描述:文件或目录权限设置不正确可能导致403错误。解决方......
  • zblog建站设置静态化以后网页出现403错误
    当使用Z-Blog建站并设置了静态化后,如果遇到403错误,这通常表示服务器拒绝了请求,可能是由于权限设置不当、Web服务器配置错误或其他安全限制导致的。以下是针对不同Web服务器(如Apache和Nginx)的一些常见解决方案。对于Apache服务器1.检查文件和目录权限问题描述:文件......
  • 伪静态注入的总结
    伪静态页面渗透在日常的测试中,经常会遇到静态页面,尤其是政府类的站点(前提经过授权),此时就会非常的棘手,在下多试验后,发现以下思路或可以帮助我们跨越这个障碍。伪静态即是网站本身是动态网页如.php、.asp、.aspx等格式动态网页有时这类动态网页还跟“?”加参数来读取数据库内不同......
  • 【数据可视化】Arcgis api4.x 热力图、时间动态热力图、timeSlider时间滑块控件应用 (
    1.效果目录1.效果2.安装配置3.热力图4.TimeSlider滑块应用 4.1  时间滑块控件 4.2 添加控件5.时间动态热力图 2.安装配置这里不教大家如何在前端框架使用arcgisapi。不过npm安装、css如何引入、教学数据存放与图层加载的教程,可以浏览我之前发的一篇文章,......
  • zblog添加html后台出错,zblog后台设置固定域名绑定错误
    当在Z-Blog中遇到添加HTML后台出错或后台设置固定域名绑定错误时,这通常意味着在配置或设置过程中出现了问题。以下是一些排查和解决步骤:1.检查域名绑定问题描述:域名可能未正确绑定到服务器。解决方法:确认域名已正确绑定到服务器。检查DNS设置,确保域名指向正确的IP......
  • zblog使用伪静态之后栏目跟文章打开显示404的解决方法
    当使用Z-Blog的伪静态功能后出现栏目或文章打开时显示404错误(即页面未找到),这通常意味着服务器无法找到请求的静态页面或伪静态URL。以下是一些可能的原因及解决方法:1.检查伪静态规则配置问题描述:伪静态规则配置不正确。解决方法:登录Z-Blog后台,进入伪静态设置页面。......
  • zblog静态分类目录访问出现403错误解决方法
    当使用Z-Blog静态化分类目录时出现403错误,这意味着服务器拒绝了请求,通常是由于权限问题或其他配置问题。以下是解决此问题的一些步骤:检查文件权限:确认文件或目录具有正确的权限。通常文件权限应设置为644,目录权限应设置为755。使用FTP客户端连接到服务器,检查分类目......
  • HTML+CSS个人静态网页设计
    ......
  • VUE框架CLI组件化组件绑定自定义事件时回调函数的this对象------VUE框架
    <template> <div> <!--内置函数的实现步骤--> <!--提供事件源,给事件源绑定事件,编写回调函数,将回调函数和事件进行绑定--> <!--等待事件的触发,事件触发执行回调函数--> <!--组件的自定义事件实现步骤--> <button@click="Hello()">你好</button> <!--给Us......