发布一篇关于静态绑定的了解
Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。Oracle收购Sun后Java前途未卜。在子类和父类内里有同名函数的时分,假如天生一个子类的对象,并在子类的对象内里挪用这个函数,那末究竟会是挪用的是谁的函数呢?比方
classBase{
inti=47;
intf(){
returng();
}
intg(){
returni;
}
}
classDerviedextendsBase{
inti=27;
intg(){file://override父类内里的办法
returni;
}
}
publicclasstest{
publicstaticvoidmain(String[]args)
{
Derivedd=newDerived();//天生Derived的对象
System.out.println(d.f());
//d.f()===Derived.f(d);
}
}
d.f()等价于==对象d挪用父类的f()函数,f()函数就会挪用returng()这句话,这个时分是在挪用谁的g()呢?
这个时分必要静态绑定Binding,所谓的静态绑定,普通的就是指,对象在挪用办法的时分可以本人判别改挪用谁的办法是本人的办法仍是父类的办法,究竟如何判别呢?我以为不是很好的了解以是爽性也来个普通的注释:
即就是挪用以后对象的地点类的内里的办法:
假如从以后子类Dervied天生了对象d,那末今后只需是是挪用g()的时分,城市是挪用子类Derived内里的g()函数而不会往挪用父类Base内里的g()函数我以为这里就是Java具有多态性的关头
net网页编程程序员的大部门代码都靠控件拖拽完成的,虽然java也有,但是无论从美观和速度上都没发和.net网页编程比。java程序员都是代码完成的,所以java程序员常戏称.net网页编程程序员是操作员,呵呵。 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想) 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢? 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
页:
[1]