A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王雷 中级黑马   /  2012-9-26 19:17  /  7069 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

类是对象的抽象,对象是类的具体化或者说实体化,具体应该怎么理解,求达人赐教啊,最好能解释的易懂些

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

8 个回复

倒序浏览
1、类是对象的抽象;对象是类的实例。没有类就没有对象,但没有对象可以有类。
2、类不占用内存空间,对象占用存储空间。

类就是内存中一个说明(描述),对象按照这种描述被 new(构造)出来的实例
比如:
class A{
   public int x;
   publix void Test(){Console.WriteLine("hellow world");
}
class App{
   static void Main(){
     A a=new A();
     a.x=2;
     a.Test();
   }
}

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

回复 使用道具 举报
回复 使用道具 举报
本帖最后由 邓利军 于 2012-9-26 20:21 编辑

对于"类是对象的抽象,对象是类的具体化或者说实体化",
我的理解是,首先说何为抽象,抽象就是看不见,摸不着的.再说类,类是不占用内存空间,而对象是占用存储空间,你可以看到毕老师画内存空间开辟图,没见过开辟一个类的空间吧.对象他有属性,有行为,也是就说有方法,比如一个名为"人"的类,属性有姓名,年龄,等等,还有行为,或说方法,像吃饭,学习JAVA算是行为,方法.  比如一个名为"狗"的类,属性和行为就不用说了吧.
因此,至于"类是对象的抽象 ",那就是把对象描述出来了,你看不到摸不着吧,他只是描述,也就是把对象抽象化了,它就是类,这就是类是对象的抽象。
至于"对象是类的具体化或者说实体化",那就是说,看不见的摸不着的 变成看得见的属性,行为或说方法, 就是具体化,实体化了,实体看得见吧,占内存空间的.
以上是个人的理解,仅供参考.

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

回复 使用道具 举报
我觉得回答问题没必要引用通篇大论,又不是报告、论文。
  实体,你懂的,
比如汽车是实体,你可以用汽车的功能:开(),汽车也有属性:颜色
  抽象呢,就是实体的想象了,有点不怎么合适...
抽象派油画见过吧,全凭你自己想想,
传说中的画饼充饥知道吧,饼就是实体,那个画就是抽象出来想想出来的,
如果比照着这张饼图做出一张饼来,就是抽象实体化了。
汽车也是,比着图纸new出一辆汽车就是抽象实体化了。

点评

嗯 ,这说得很对,更形象了.  发表于 2012-9-26 23:18

评分

参与人数 1技术分 +1 收起 理由
王德升 + 1 赞一个!

查看全部评分

回复 使用道具 举报
呵呵能帮到就好,用自己语言总结的,我觉得比那些长篇大论的好多了
回复 使用道具 举报
李铁 中级黑马 2012-9-27 00:13:12
7#
类是对象的抽象,对象是类的具体化或者说实体化,具体应该怎么理解

我来更形象地回答你的问题
//下面是个类,描述的是狗的类型,名字,还有吠叫的方法。
        //类所描述是的对象知道什么与执行什么,类是对象的篮图,也是对象的抽象
        class Dog{
                int  size;
                String name;
                Dog(int size,String name){
                        this.size=size;
                        this.name=name;
                }
                public void bark(){
                        if(size>30){
                        System.out.println("汪,汪,汪");
                        }else if(size>10){
                                System.out.println("渥,渥,渥");
                        }else{
                                System.out.println("渥渥渥....");
                        }
                }
                //创建几只狗对象,赋予它们类型,名字,吠叫的方法;所以对象就是类的具体化或说是实体化
                public static void main(String args[]){
                        Dog d1 = new Dog(45,"旺财");
                        Dog d2= new Dog(15,"小强");
                        Dog d3= new Dog(8,"大黄");
                        d1.bark();
                        d2.bark();
                        d3.bark();
                }
               
        }

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
翁鹏 高级黑马 2012-9-27 08:05:21
8#
本帖最后由 翁鹏 于 2012-9-27 16:39 编辑

我的理解是 类是对同一类事物的抽象,是对象的图纸,模板。
抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。
经典的例子:例如,汽车设计图 就是 对汽车这一类事物的描述,把汽车这一类事物共同的东西抽取出来这就是类。  但是,你并不能 开设计图吧,你必须把汽车按设计图造出来才能开吧。这就是类的实例化,创造出具体的汽车对象,你才能开。
回复 使用道具 举报
王雷 中级黑马 2012-9-27 21:51:22
9#
谢谢大大们  问题搞定咯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马