绑定

来源:互联网 发布:酒店经营数据汇总分析 编辑:程序博客网 时间:2024/04/28 09:55

所谓绑定就是在对象引用与对象实例之间建立联系。分为静态绑定和动态绑定。静态绑定又叫前期绑定,是在编译期建立的联系;动态绑定又叫后期绑定,是在运行期建立的联系。

1.静态绑定

性能较好,可以提高代码的运行速度。java中属于静态绑定的有以下一些内容:

(1)类属性

(2)构造方法

(3)声明为static的静态方法

(4)声明为final的方法,将其另列为一个项目,如下声明为private的方法。

(5)使用关键字super调用的方法,包括super()。


public class Auto {


public String name = "an automobile";
public void engine(){
System.out.println("a poor engine");
}
public final void price(){
System.out.println("This is a budget machine.");
}
public static void run(){
System.out.println("a big slow");
}
public void fun(){
System.out.println("Driving fun");
}

}

public class Car extends Auto {


public String  name = "a nice car";

public void engine(){
System.out.println("a nice engine");
}

public static void run(){
System.out.println("fast");
}

public void fun(){
super.engine();
}

public static void main(String[] args) {
Auto auto = new Car();
System.out.println(auto.name);//类属性
auto.price();//父类final方法
auto.run();//父类静态方法
auto.fun();//super关键字
}
}


2.动态绑定

提高了程序设计的灵活度,降低了耦合性,但会减慢运行速度。

public class Food {


public void taste(){
System.out.println("it is good");
}
public void smell(){
System.out.println("no bad");
}
public void feed(){
System.out.println("it is good");
}

}

public class Noodles extends Food {


public void taste(){
System.out.println("it is delicious");
}
public void smell(){
System.out.println("Smell sweet");
}
public void feed(){
System.out.println("it is nutritious");
}
public static void main(String[] args) {
Food food  = new Noodles();
food.taste();
food.smell();
food.feed();
}
}

原创粉丝点击