随笔 - 20  文章 - 57  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用链接

留言簿(2)

随笔分类

随笔档案

文章分类

文章档案

51CTO

搜索

  •  

最新评论

阅读排行榜

评论排行榜

      这篇文章我讲述的是类与对象的关系,以及类与对象的创建过程以及在创建的时候内存的分配方式。
   
      首先,我们先了解一下什么是类,什么是对象?
      类——简单的说就是对象的高度概括
      对象——对象是一个类的具体表现
      类是所有具有相同特征的对象抽象出来的总体概括,也就是说类是只是一个概念,这个概念包括所有对象的共同属性和方法。对象是类的一个具体的实例,是实实在在存在的。
      也可以说,类包含了这个类所创建的所有对象的共同点。就像通常我们所说的人类。人类都有一定的属性(例如,我们都有名字,都有手有脚……),这个属性并不是人类特有的(比如,猩猩这个类,他们也都有手有脚……),但一定是全部的人所共有的——也就是说所有的人都有人类的属性。当然,每一个类也都有一定的方法(例如,人类都可以思考问题,可以吃饭,可以睡觉),但不一定是人类所特有的(比如,猩猩也可以做一些简单的思考,也可以吃饭睡觉等)。

      在我看来,我觉得 类 用一句话说就是:具有相同特征(属性)和行为(方法)的任何事物都可以看做一个类。
                      对象 就是:某个类的具体实例,一个实实在在的事物,拥有类的特征和方法。

                                                             
      ——这里先不考虑一些特殊情况。
            
      现在,我们来说说在Java编程中类的创建以及在创建过程中内存的分配方式:
      在Java中创建类的关键字是 class ,类名总收标识符的命令方式,但类名的第一个字母应该大写,这只是业内人士的一种规则,好处嘛当然也是大大的……
      下面我们以一个例子来说明:
          //创建一个Person类
          class Person
         {
            //定义类的name和age属性
            public String name;
            public int age;
           
            //定义一个类的简单的方法
            public void say(){
              System.out.println("I am SKY!");
            }
  
         }
         这个类是创建完了,但这个过程内存是怎么分配的我还不清楚,其实我觉得这不是我们现在要考虑的问题,最重要的是下一步类的声明和实例化过程中内存是怎么分配的。

          //我们再定义一个Person测试类PersonTest
          public class PersonTest{
          public static void main(String[] args){
          //声明一个person1对象
          Person person1 = null;//——>这个过程只是在栈内存开辟一块空间,存放person1的句柄
          //对象的实例化
          person1 = new Person();//——>这个过程是在堆内存开辟了一块空间,来存放person1的属性和方法(这块内存的首地址会被存放在person1在栈的内存中)
          //其实在这我也有部分不明白:就是这时的person1句柄是不是就是person1在堆内存的地址?
          //调用say方法
          person1.say();
 
            }
          }
          运行这个程序,会输出:
                                 I am SKY!





    可能自己的表达能力有限,说的不够清楚,如有疑问,请留下来,我们一起探讨。
     






posted on 2010-10-14 00:03 tovep 阅读(131) 评论(0)  编辑  收藏

只有注册用户登录后才能发表评论。


网站导航:
 
主页