java面向对象的类的程序_五、java的面向对象程序设计(类和对象)

五、java的面向对象程序设计(类和对象)

五、java的面向对象程序设计(类和对象)

/**

* 面向对象之一

* 类与对象

*/

/**

* 对象的实例化过程:

* 1,java中所有类型在内存的分配情况

* a,基本类型"变量"char,byte,short,int,long,float,double,boolean存储在堆栈中

*   堆栈是通过堆栈指针按照先进先出的读取方式存储数据,存取速度快.

*   堆栈位于RAM(随机访问存储器,可读可写)

* b,"常量"(主要指通过final static关键字定义的常量)存储在ROM(只读存储器)中

* c,"对象"存储在堆中

*   堆按照先进后出的存储方式存储数据,存储速度较慢.堆同样位于RAM.

* d,"引用"存储在堆栈中,存储的是对象的首地址,并通过地址指针指向位于堆中的对象.

*

* 2,对象的实例化过程

* 创建一个类的引用时,如Person p1这时将在堆栈中创建一个引用p1,

* 当p1 = new Person()时,在堆中创建了一个Person类型的对象,并且将该对象在堆中的首地址赋值给p1这个引用.

*

* 3,引用的比较

* 我们创建两个对象:

* Person p1 = new Person(); Person p2 = new Person();

* 这时,堆内存中存放了两个Person类型的对象,这两个对象的首地址不相同,

* 所以,第一个对象的引用p1和第二个对象的引用p2(p1,p2存储着对象的首地址)的值不相同.

*

* 4,对象和引用的生命周期:

* 大体来说,创建对象的引用和创建一个变量一样,都是分配在堆栈中的,

* 在方法中我们按照先后顺序定义的变量和引用,将在该方法结束后,同样按照先定义先释放的方式结束其生命周期.

* 但是对于一个引用,由于存放的是堆中对象的首地址,所以,在方法中当我们将null赋值给这个引用时,例如p1 = null,同样可以提前结束p1的生命周期.

* 当p1 = null后,结束的是引用的生命,但是堆中的对象并没有结束,而这个对象将等待java的垃圾回收器,在一个特殊的时间将其清除.

*/

class Person

{

private int age;

public void setAge(int age)

{

this.age = age;

}

public void shout()

{

int age = 23;//方法中定义的局部变量会覆盖类中定义的同名的成员变量;

/*

{

int age = 30;//错误,java中不允许在方法中定义与全局变量同名的局

相关文档:

Java NIO API详解

在JDK

1.4以前,Java的IO操作集中在java.io这个包中,是基于流的阻塞(blocking)API。对于大多数应用来说,这样的API使用很方

便,然而,一些对性能要求较高的应用,尤其是服务端应用,往往需要一个更为有效的方式来处理IO。从JDK 1.4起,NIO

API作为一个基于缓冲区,并能提供非阻塞(non-blo ......

下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的。对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握。并逐步做到:在应用中发展,在发展中应用。

1. 原始单据与实体之间的关系

&nbs ......

在这个页面上http://rymden.nu/exceptions.html,你会看到Java的各种异常,不过,你看看各个异常的解释,你会发现非常有趣,下面例举几个吧:

java.lang.ArithmeticException

你正在使用计算解决一个你不能自己解释的数学问题,请你重新读一下你的程序,然后,再试一次。

java.lang.ClassNotFoundException

你应该是发� ......

问个问题 最近在学习Flex。。。照着网上资料,在MyEclipse中完成了Flex与web项目整合

在做普通Flex运行测试是是没有问题的,但如果想调用java类,按照网上的做法,是要更改该目

录下的remoting-config.xml,但是我自动生成的WebRoot/WEB_INFO/flex目录下面仅仅只有

services-config.xml一个文件,这是什么原因??我的是 ......

//Java的IO的一个实例

import java.io.*;

import java.util.zip.*;

public class abc5{

String temp=new String();

String t=new String();

public void readByLinefromConsoleAndPrint(){

System.out.println("==从控制台获得输入==");

try{

BufferedReader in=new ......

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值