Java之前期绑定,后期绑定,简单理解和实例
2016-11-26 13:29
423 查看
开心一笑
【今天我对老公撒娇:老公你夸夸我呗!老公面无表情的看看我,一言不发。我有点生气,怎么遭,以前叫你夸我,你还会随便敷衍几句,现在连敷衍都不想了吗?老公:随便你怎么说,我只是觉得不配跟仙女说话!】视频教程
大家好,我录制的视频《Java之优雅编程之道》已经在CSDN学院发布了,有兴趣的同学可以购买观看,相信大家一定会收获到很多知识的。谢谢大家的支持……视频地址:http://edu.csdn.net/lecturer/994
提出问题
java中的前期绑定,后期绑定如何理解???解决问题
绑定:一个方法的调用与方法所在的类(方法主体)关联起来。
前期绑定:final,static,private,构造方法,成员变量(包括静态及非静态)
后期绑定(多态):除了前期绑定之外的其他方法属于后期绑定,运行时能判断对象的类型进行绑定。
人类(Person):
/** * 描述:人类 * @author Ay * */ class Person extends Object{ protected String UNIQUE_FLAG = "Person"; /** 心 **/ private Heart heart; public Person(){ System.out.println("Person created......"); }; public Person(String id,String name){ super(id,name); } public Person(String name){ super(name); } public Heart getHeart() { return heart; } public void setHeart(Heart heart) { this.heart = heart; } /** * 描述:购买 * @param <E> * @return */ public static <E> List<E> buy(E arg,int num){ return MagicStore.get(arg,num); } public static void birth(){ System.out.println("降临人世间......"); } public static void die(){ System.out.println("走向人间天堂......"); } public void breath(){ System.out.println("Person" + "呼吸......"); } }
男孩(Boy):
/** * 描述:男孩 * @author Ay * */ class Boy extends Person{ protected String UNIQUE_FLAG = "Boy"; /** 男孩的心 **/ private Heart heart; public Boy(){ System.out.println("Boy created......"); } public Boy(String name){ super(name); } Boy(String id,String name){ super(id, name); } public static void birth(){ System.out.println("Boy" + "降临人世间......"); } public static void die(){ System.out.println("Boy" + "走向人间天堂......"); } @Override public void breath(){ System.out.println("Boy" + "呼吸......"); } }
测试类:
public class AyTest { public static void main(String[] args){ //男孩产生,用Person引用,打印 1和2结果 Person boy = new Boy(); //男孩出生,由于birth是静态方法,是前期绑定,所以调用person的birth方法 boy.birth(); //final常量也是前期绑定,所以调用父类Person的UNIQUE_FLAG常量 System.out.println(boy.UNIQUE_FLAG); //breath是后期绑定,所以调用boy的breath方法 boy.breath(); //编译报错,访问权限的原因 boy.heart; } }
打印结果:
Person created...... 1 Boy created...... 2 降临人世间...... 3 Person 4 Boy呼吸...... 5
参考文章
【1】理解Java中的前期绑定和后期绑定【2】Java前期(静态)绑定和后期(动态)绑定
【3】Java的前期绑定和后期绑定[新]
【4】Java编程思想(Thinking in Java)
读书感悟
《写在人生边上》钱钟书我们在创作中,想象力常常贫薄可怜,而一到回忆时,不论是几天还是几十年前、是自己还是旁人的事,想象力忽然丰富得可惊可喜以致可怕。
早熟的代价是早衰。
永远快乐”这句话,不但渺茫得不能实现,并且荒谬得不能成立。快过的决 不会永久;我们说永远快乐,正好像说四方的圆形,静止的动作同样地自相矛盾。 在高兴的时候,我们空对瞬息即逝的时间喊着说:“逗留一会儿罢!你太美了!” 那有什么用?你要永久,你该向痛苦里去找。
洗一个澡,看一朵花,吃一顿饭,假使你觉得快活,并非全因为澡洗得干净,花开得好,或者菜合你口味,主要因为你心上没有挂碍。
其他
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎点赞、顶、欢迎留下宝贵的意见、多谢支持!相关文章推荐
- 理解Java中的前期绑定和后期绑定
- C#前期绑定和后期绑定操作Excel-------实现简单打印功能
- java学习之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
- Java之向上转型,向下转型简单理解和实例
- Java前期(静态)绑定和后期(动态)绑定
- [Thinking in Java] - No.2 Java中的静态(前期)绑定和动态(后期)绑定
- java的前期绑定和后期绑定
- java的前期绑定和后期绑定使用示例
- Java之协变返回类型理解和简单实例
- java的多态以及重载,重写,前期绑定,后期绑定
- Java的前期绑定和后期绑定[新]
- [Think in java] 前期绑定和后期绑定(转)
- java多线程结合单例模式实例,简单实用易理解
- java之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
- java学习之编译时类型(前期绑定)和运行时类型 (后期绑定、动态绑定、运行时绑定)
- (Java2D 学习笔记系列) (一)一个简单的图像填充实例及其分析理解
- java synchronized 超简单好理解实例
- Java中String 操作及前期绑定与后期绑定例子
- java中的前期绑定和后期绑定
- Java前期(静态)绑定和后期(动态)绑定