老尸 发表于 2015-1-18 11:55:33

JAVA教程之成员变量和办法的override的详解

最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的变量|详解原题:
//file:MyMain.class

classBase
{
inta=10;
publicvoidshow()
{
System.out.println(a);
}
}

classExtextendsBase
{
inta=200;
publicvoidshow(Strings)
{
System.out.println(s);
}
}

publicclassMyMain
{
publicstaticvoidmain(String[]argv)
{
Extobj=newExt();
obj.show();
obj.show("OK");
}
}

叨教,实行下面程序,运转是甚么?
========================
关于这道标题,我给出了一个复杂的准绳,如今有空特地说
分明一点这个风趣的征象。

起首要申明,我以为,属性并不是不成以override,
成员变量是能够override的,可是成员变量是在编译时剖析的
(而办法是在运转时剖析的)

如许一来,当子类要援用父类对象的属性时,实践上它会屏障
本人的同名属性,只往会见父类对象的属性,以是间接援用
变量名和经由过程办法来猎取变量的效果是纷歧样的,
这里有个十分好的例子,偶然间好悦目看,想一想

publicclassShadow{
publicstaticvoidmain(Strings[]){
S1s1=newS1();
S2s2=newS2();

System.out.println(s1.s);//printsS1
System.out.println(s1.getS());//printsS1
System.out.println(s2.s);//printsS2
System.out.println(s2.getS());//printsS2

s1=s2;
System.out.println(s1.s);//printsS1,notS2-
//sincevariableisresolvedatcompiletime
System.out.println(s1.getS());//printsS2-
//sincemethodisresolvedatruntime
}
}

classS1{
publicStrings="S1";
publicStringgetS(){
returns;
}
}

classS2extendsS1{
publicStrings="S2";
publicStringgetS(){
returns;
}
}

到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。

爱飞 发表于 2015-1-21 17:04:09

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

乐观 发表于 2015-1-24 05:58:36

是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能

小魔女 发表于 2015-1-24 20:35:19

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

admin 发表于 2015-2-7 20:16:51

是一种为 Internet发展的计算机语言

兰色精灵 发表于 2015-2-17 21:03:49

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

简单生活 发表于 2015-3-5 22:45:58

是一种突破用户端机器环境和CPU

小女巫 发表于 2015-3-6 19:32:34

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

精灵巫婆 发表于 2015-3-13 06:35:31

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

再现理想 发表于 2015-3-13 10:13:18

一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。

老尸 发表于 2015-3-16 06:33:33

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。

灵魂腐蚀 发表于 2015-3-17 00:10:23

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

活着的死人 发表于 2015-3-23 08:48:17

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

若天明 发表于 2015-4-9 14:15:54

接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。

若相依 发表于 2015-4-16 00:10:22

Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。

愤怒的大鸟 发表于 2015-4-17 05:34:28

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

飘飘悠悠 发表于 2015-4-21 23:12:43

Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)

蒙在股里 发表于 2015-4-30 11:28:17

我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。

深爱那片海 发表于 2015-6-10 15:40:46

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

金色的骷髅 发表于 2015-6-28 21:55:47

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
页: [1] 2
查看完整版本: JAVA教程之成员变量和办法的override的详解