仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1140|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA网站制作之简述JAVA对象的发生与利用

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-18 11:40:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。java对象我们都晓得创立新对象必要利用new关头字和想要创立对象的类名,如:
Personp1=newPerson();//“=”右边以类名Person作为变量范例界说了一个变量p1,来指向“=”右侧经由过程new关头字创立的一个Person类的实例对象,变量p1就是对象的援用句柄,对象的援用句柄是在栈平分配的一个变量,对象自己是在堆平分配的;在new语句的类名后必定要随着一对括号(),该语句实行完成后的内存形态如。
栈内存堆内存
某|---|_______||________|
个||_______|->0x3000|____0___|age//“0”是newPerson()发生的对象
函__||_______|-|........|
数||_______|-|.........|
的|P1|0x3000|-|........|
栈|---||||





变量在被初始化之前是不克不及利用的,在一个办法外部的变量必需举行初始化赋值,不然编译没法经由过程。当一个对象被创立时,会对个中各类范例的成员变量按表1主动举行初始化赋值,除基础数据范例以外的变量范例都是援用范例,如下面的Person和后面讲数组。

表1
成员变量范例初始值
--------------------------------------------------------------------------------------
byte0
short0
int0
long0L
float0.0F
double0.0D
Charu0000(暗示为空)
booleanFalse
ALLreferencetypeNull
---------------------------------------------------------------------------------------
由此我们所可以看到对象内存形态图中的age成员变量的初始值为0。

创立新的对象以后,就能够利用“对象名.对象成员”的格局,来会见对象的成员(包含属性和办法),上面演示了Person类对象的发生和利用体例:
classPerson
{
intage;
voidshout()
{
System.out.println(age);
}
}
classTestPerson
{
publicstaticvoidmain(String[]args)
{
Personp1=newPerson();
Personp2=newPerson();
p1.age=-30;
p1.shout();
p2.shout();
}
}
程序运转了局:
-30
0
剖析:在TestPerson.main办法中创立了两个Person类的对象,并界说了Person类的对象援用句柄p1、p2,分离指向这两个对象。接着,程序挪用了p1和p2的办法和属性,p1、p2是两个完整自力的对象,类中界说的成员变量,在每一个对象都被独自实例化,不会被一切的对象共享,改动了p1的age属性,不会影响p2的age属性。挪用某个对象的办法时,该办法外部所会见的成员变量,是这个对象本身的成员变量,下面程序运转的内存结构如。

栈内存堆内存

|.................||________|
|.|----->|__-30___|age//p1标识的对象
|___________________|-
p1.shout(){|_个中对age的会见__|----
p2.shout(){|_个中对age的会见__|----
||-
||-|________|
----->|___0____|age//p2标识的对象





每一个创立的对象都是有本人的性命周期的,对象只能在其无效的性命周期内被利用,当没有援用变量指向某个对象时,这个对象就会酿成渣滓,不克不及再被利用。以下是详细的渣滓代码和剖析:

1、第一种情形:
{-----|
Personp1=newPerson();|――>Person对象被援用;分开感化域p1生效,Person对象成为渣滓。
........|
}-----|

2、第二种情形:
{
Personp1=newPerson();---->|p1|----->Person对象
p1=null;---->|p1|―>nullPerson对象成为渣滓
.........
}
剖析:在实行完p1=null;后,即便句柄p1还没有超越其感化域,仍旧无效,但它已被赋值为空,p1不再指向任何对象,这个
Person对象成了孤儿,不再被任何句柄援用,酿成了渣滓。

3、第三种情形:
{
Personp1=newPerson();--->p1---->Person对象
...........|---->p1----->Person对象
Personp2=p1;--->|---->p2----->Person对象
...........
p1=null;--->p1---->null
...........--->p2---->Person对象
}
剖析:实行完p1=null;后,发生的Person对象不会酿成渣滓,由于这个对象仍旧被p2所援用,直到p2超越其感化域而有效,发生
的Person对象才会酿成渣滓。




手机用到的是用j2me所编出来的小程序。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-21 12:33:15 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
爱飞 该用户已被删除
板凳
发表于 2015-1-26 12:17:12 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
山那边是海 该用户已被删除
地板
发表于 2015-2-2 21:55:38 | 只看该作者
Java是一种计算机编程语言,拥有跨平台、面向对java
谁可相欹 该用户已被删除
5#
发表于 2015-2-5 10:54:54 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
小妖女 该用户已被删除
6#
发表于 2015-2-10 11:29:54 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
透明 该用户已被删除
7#
发表于 2015-3-1 09:49:57 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
若相依 该用户已被删除
8#
发表于 2015-3-6 22:05:04 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
再见西城 该用户已被删除
9#
发表于 2015-3-11 17:45:04 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
飘飘悠悠 该用户已被删除
10#
发表于 2015-3-19 04:01:16 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
小魔女 该用户已被删除
11#
发表于 2015-3-24 14:16:09 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
老尸 该用户已被删除
12#
发表于 2015-3-26 13:12:42 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
不帅 该用户已被删除
13#
发表于 2015-3-26 18:40:22 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
愤怒的大鸟 该用户已被删除
14#
发表于 2015-3-28 04:55:16 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
因胸联盟 该用户已被删除
15#
发表于 2015-3-29 00:23:59 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
飘灵儿 该用户已被删除
16#
发表于 2015-3-29 04:42:13 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
柔情似水 该用户已被删除
17#
发表于 2015-4-1 17:46:22 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
精灵巫婆 该用户已被删除
18#
发表于 2015-4-7 13:09:39 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
金色的骷髅 该用户已被删除
19#
发表于 2015-4-7 19:17:22 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
乐观 该用户已被删除
20#
发表于 2015-4-10 07:14:17 | 只看该作者
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 21:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表