栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

静态与 Java中的动态绑定

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

静态与 Java中的动态绑定

从Javarevisited博客文章:

这是静态绑定和动态绑定之间的一些重要区别:

  1. Java中的静态绑定发生在编译时,而动态绑定发生在运行时。
  2. private
    final
    以及
    static
    方法和变量使用静态结合和由编译器所键合而虚拟方法基于运行时对象在运行期间接合。
  3. 静态绑定使用
    Type
    class
    在Java中)信息进行绑定,而动态绑定使用对象来解析绑定。
  4. 重载的方法使用静态绑定进行绑定,而重载的方法使用动态绑定在运行时进行绑定。

这是一个示例,可以帮助您理解Java中的静态和动态绑定。

Java中的静态绑定示例

>     public class StaticBindingTest {  >         public static void main(String args[]) {>  Collection c = new HashSet();>  StaticBindingTest et = new StaticBindingTest();>  et.sort(c);>         }>         //overloaded method takes Collection argument>         public Collection sort(Collection c) {>  System.out.println("Inside Collection sort method");>  return c;>         }>         //another overloaded method which takes HashSet argument which is> sub class>         public Collection sort(HashSet hs) {>  System.out.println("Inside HashSet sort method");>  return hs;>         }>     }

输出 :内部集合排序方法

Java动态绑定示例

>     public class DynamicBindingTest {  >         public static void main(String args[]) {>  Vehicle vehicle = new Car(); //here Type is vehicle but object> will be Car>  vehicle.start(); //Car's start called because start() is> overridden method>         }>     }>  >     class Vehicle {>         public void start() {>  System.out.println("Inside start method of Vehicle");>         }>     }>  >     class Car extends Vehicle {>         @Override>         public void start() {>  System.out.println("Inside start method of Car");>         }>     }

输出: 汽车内部启动方式



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/410253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号