|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。成绩
publicclasstest2{publicStringuser="test2";
publictest2(){}
publicStringgetUser(){System.out.println(this.user); //这里打印的为何是"test2",而不是"test4"user=getPassword(); //这里实行的为何是test3的办法,而不是自己界说的办法呢returnuser;}publicStringgetPassword(){System.out.println(this.user);return"hellotest2";}}
publicclasstest3extendstest2{publicStringuser="test3";publictest3(){}
publicStringgetPassword(){System.out.println(this.user);return"hellotest3";}}
publicclasstest4extendstest3{publicStringuser="test4";publictest4(){}publicstaticvoidmain(String[]args){test4t4=newtest4();t4.getUser();}}
输入了局是:test2,test3被给分人的解答是:
1.这是个感化域的成绩!因为在承继中,只是针对办法的掩盖,关于属性并没有掩盖的感化。
那样来讲,user这个属性,在一个test4的对象内里就有3份!
在test4的感化局限内,他就是test4,test3的局限内就是test3.
这个成绩,大概对照难以让人了解。可是你想一下类代码的挪用体例你就分明了!
假如你学过c的话,你一定晓得,全局变量带来的反作用,哈哈,跟这个相似!
不外这个成绩,仿佛还真不是个一样平常的成绩,我用jb跟踪实行的时分,谁人user一向是test4,可是实践输入的就不是了!
不晓得jb的调试工具,对这个成绩怎样思索的!2.this传的是以后挪用办法的对象的句柄,在本例中是test4,而它有三个user属性,它们是有各自的属性域的,即在test2中只显现"test2",即在test3中只显现"test3"(若在test3中也重写一段getuser(),那就会显现"test3",感到就是三个属性只在本人外家才会展现出对应的谁人);关于办法,则只是挪用比来一层父类的办法,以是挪用test3的getpassword()办法.
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。 |
|