您好,欢迎来到花图问答。
搜索
您的当前位置:首页java动态绑定怎么用

java动态绑定怎么用

来源:花图问答

用法

1、程序在编译的时候调用的其实是父类的eat方法,但是在运行时运行的则是子类的eat方法,运行期间发生了绑定。

2、使用前题,先向上转型,通过父类引用来调用父类和子类同名的覆盖方法

实例

package chapeter04;
 
class Test
{
public Test() { }
public void setName(String n)
{
this.name=n;
System.out.println("在父类中");
}
public String getName()
{
return this.name;
}
private String name;
}
 
public class Sample4_12 extends Test
{
public void setArea(String a)
{
this.area=a;
}
 
public String getArea()
{
return this.area;
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
Sample4_12 child = new Sample4_12();
Test test []=new Test[2];
test[0]=child;
test[0].setName("silence");
test[1]=new Test();
}
private String area;
 
}

以上就是java动态绑定的使用,大家在开始使用前,需要对其的使用前提进行明确。更多Java学习指路:

本教程操作环境:windows7系统、java10版,DELL G3电脑。

花图问答还为您提供以下相关内容希望对您有帮助:

java 中什么是动态绑定!

外部调用代码如下:public void do(Fruit fruit){ fruit.eat();//这里就是动态绑定只有在运行时才知道调用哪一个子类的eat()} main(){ do(new Apple());do(new Banana());}

Java中几个名词解释 静态绑定&动态绑定 静态编译&动态编译 前绑定&...

静态绑定:例如一个变量在声明的时候,就初始化最初值;动态绑定:声明一个变量,在后续用set方法对其动态设置值;静态编译:编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。动态编译:某...

binding在Java中得具体作用?

动态绑定的另一个常见应用是通过接口进行类型转换。接口允许实现多个方法,而无需继承,通过实例化接口的实现类,可以实现动态绑定,从而灵活地调用不同实现类的方法。在上述代码中,通过`testCall()`方法,可以测试不同类型的引用调用基类方法的行为,展示了动态绑定在实际编程中的应用。总结而言,Java中的...

java里的interface接口类怎么用?

接口通过使用关键字interface来声明,格式为:interface 接口的名字。在Java中,动态绑定和静态绑定是两种不同的方法绑定方式。动态绑定指的是实例方法与引用变量实际引用的对象的方法绑定,这种绑定是在运行时由Java虚拟机动态决定的。静态绑定则涉及到静态方法与引用变量所声明的类型的方法绑定,以及成员变量(...

java中的接口回调与观察者模式有什么不同之处?

接口回调是Java中多态的一种体现,通过接口变量调用实现类的方法,实现动态绑定。具体来说,当接口变量调用被实现的接口中的方法时,实际上就是通知相应的对象去调用接口中的方法,这种方式可以灵活地扩展功能,提高代码的复用性。观察者模式则是一种设计模式,它将观察者和被观察的对象分离。当被观察的...

新手关于java 多态的很简单的一个问题

方法调用的动态绑定: 当通过父类引用调用方法时,Java会在运行时根据对象的实际类型来确定调用哪个方法。这被称为方法的动态绑定。 如果子类重写了父类中的某个方法,那么当通过父类引用调用该方法时,将调用子类中的重写版本。 为什么A.speak调用的是Practice类中的speak: 在上述例子中,Practice类重写了Father类中的sp...

Java三大特性——多态

Java中的多态性是指一个父类引用可以指向子类对象,这种特性使得编译期类型与运行期类型可能不一致,从而实现方法的动态绑定。以下是关于Java多态性的详细解释:多态性的定义:在Java中,多态性允许一个对象变量去引用多种实际类型的对象。这种特性使得同一个引用类型在不同情况下可以指向不同类型的对象,并...

java中这样定义一个List: List list = null; 初始化的是什么List?array...

只是声明List,并初始化。一般你要是给List定义类型,那么用List<XXX>,XXX为限定的类型,如String,实体类这样的东西。arrayList、LinkList和List是不同的类型,你要创建对象那么直接ArrayList list = new ArrayList();之类的

Java中的引用是什么?

在Java中,引用变量的值可以被改变,这意味着它可以指向不同的对象。例如,我们可以通过"a = new A();"改变a的值,让它指向另一个新创建的A对象。这种特性使得Java的面向对象编程能够实现对象的动态绑定,提高了代码的灵活性和可维护性。此外,引用变量还支持null值,这意味着它可能不指向任何对象。

java 子类实例化时是否同时存在一个父类对象.

变量是静态绑定的,即在编译期间就确定了变量的类型。如果子类重写了父类的字段,那么子类中该字段会隐藏父类中的同名字段,但两者仍然是独立的。方法是动态绑定的,即实际调用的是运行时的对象类型所对应的方法。如果子类重写了父类的方法,那么调用该方法时将执行子类中的实现。抽象类的情况:如果父类...

Copyright © 2019- huatuowenda.com 版权所有 湘ICP备2023022495号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务