易截截图软件、单文件、免安装、纯绿色、仅160KB

五、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里字符编码的探索与理解

今天终于把JAVA里一个比较头痛的问题——字符编码弄清晰了,所以写一篇文章来纪念一下,也为大家提供一点自己的心得。
  众所周知,JAVA为了国际通用,用的是UNICODE来保存里面的字符。而UNICODE只是一个种字符集,字符的存储和表示要用到一定的字符编码格式,而与UNICODE对应的字符编码格式就是我们常看到的U ......

Java的IO实例

//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 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号