类与对象的问题

来源:8-5 Java 中的成员变量和局部变量

Antique

2017-09-06 21:34

背景:类是抽象的,对象是具体的。

代码

public class Order{
    private Item i = new Item();
}
class Item{}

问题:首先说明的是我非常清楚应该怎么使用,对使用没有任何问题。

以上代码中,class Order这个时候是一个抽象的类,并没有实例化。而在Order的成员变量中有一个具体的Item对象i,同时另外一个背景是:成员变量应尽量初始化而不使用默认的初始值。那么问题就是:一个抽象的概念里面,为什么会有一个具体的对象,这样子当我实例化Order对象的时候,该对象的Item成员变量是类里面的i的引用,还是每一个具体的实例化,都重新new了一个Item对象?这个时候的 class Order的成员变量Item在内存中存放的具体是什么?是一个NULL引用?还是什么?

写回答 关注

5回答

  • 鬼鬼qiang
    2017-09-06 23:02:17
    已采纳

    属性你初始化不赋值的话默认null.你的这些问题你看视屏里应该比我说的清楚。首先创建一个包吧

    在这个包里面我定义了一个Car类(车)而我在这个包里面我又定义了一个小型汽车类。然后我在定义个大型汽车类在这三个类中都有各自属性和方法。而这些类型的汽车是不是都属于car这个类。也就是主类。我写程序在car中要想用小型汽车这个类里的属性和方法是不是先要     小型汽车  变量名=new 小型汽车();才可以用这个类里面的属性和方法 。

    Antiqu...

    这个问题已经解决, 是我想复杂了,确实其实很简单的东西,类里面有个引用,很简单的东西。。

    2017-09-07 20:57:19

    共 2 条回复 >

  • 鬼鬼qiang
    2017-09-08 09:00:54

    我现在算是职场小白。每天在补这些基础

  • 鬼鬼qiang
    2017-09-08 08:59:53

    是的 new只有这个作用 没别的 到最后你用框架都不用new了懂怎么用就行了


    Antiqu...

    我是最近在补充JVM的东西,才会来看这些,需要非常清楚每个东西在内存放在什么位置,虚拟机怎么用,不然单纯用其实还是很简单的

    2017-09-08 09:33:23

    共 1 条回复 >

  • 鬼鬼qiang
    2017-09-06 22:05:58

    类里有属性和方法 属性 :张三  有年龄,名字 这就叫属性。方法就是能做什么事。就比如张三能吃饭睡觉

    而你说的 void zhangsan(){

    System,out.println(“张三只会吃饭睡觉”);

    }

    你本身的写法就错了,你写错的 那个是内部类

    Antiqu...

    内部类我觉得这里还没有要用到。不理解的是属性是引用数据类型的时候,这个属性在初始化的时候是什么。还望赐教

    2017-09-06 22:33:09

    共 1 条回复 >

  • 鬼鬼qiang
    2017-09-06 22:00:59

    首先你写的这个是什么东西,类是抽象的不错,就拿人一样,张三,李四都是属于人。而统称位抽象的人类。但是我想把张三从这个人里面具体的实例化后才可以用这个对象。说白了对象就是类的实例化具体表现。人类是一个抽象的类。而张三是属于这个类。我们要使用这个类里的张三我们先要实例化这个张三也就是创建这个张三对象

    Antiqu...

    同时每一个具体的Person对象中,都会有一个具体的Heart对象,比如张三对象在堆内存中会开辟一个空间存放它的Heart对象的引用,那么在类中,这个Heart又是以什么形式存在,NULL?

    2017-09-06 22:37:43

    共 2 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530653 学习 · 6091 问题

查看课程

相似问题