Animal one = new Animal()看不明白

Animal one = new Animal()看不明白

之前,如果我要想在一个类(例如test类)中调用另一个类,就会用Animal one = new Animal();我知道这个代码达到的目的就是,用one。xxx的方式来使用 写在Animal类中的属性和方法。

现在变成了Animal one = new Cat();我对这个代码能带来的作用的理解是:现在我可以用这个one。xxx来调用animal这个父类中的所有public的属性和方法以及写在子类cat中的父类的重写方法。但不能调用cat中的其他cat自己独特的属性和方法了。

但是,我对Animal one = new Animal();这个代码本身是不理解意思的,看到老师说的:父类引用指向子类实例这种话我是听不明白的,1什么叫做引用,2什么叫做实例  ? 3new 后面的Animal()是什么意思?

4 这里的one 是不是就是对象的意思??老师能用通俗一点的话来解释一下这些玄乎的名词吗

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小班 2019-12-03 13:20:32

同学你好,

        1、什么叫引用。

声明一个对象,这个对象名称就是一个对象声明,也就是声明一个对象引用,比如int a = 1;  a就是变量的名,1就是变量的值。而当变量指向一个对象时,这个变量就被称为引用变量。比如A a =new A();
a就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时,变量a的值为它所引用对象的地址。

        2、什么叫做实例。

        类就相当于一个模板,实例就是照着模板做的一个东西,打个比方,类是盖楼房的图纸,可以照着图纸盖好多个楼房,而具体的楼房就是实例。对应在java中,定义了一个User类
User user = new User();其中 new User();就是创建了一个类的实例了。

        3、new 后面的Animal()是什么意思。

new  Animal()其实就是通过new关键字调用Animal类的构造方法,新建一个实体类的意思。

        4、one 是不是就是对象的意思?

这里的one就是一个引用对象名,这个one指向了一个Animal类型的对象的地址,可以调用one引用对象中的属性和方法。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 慕丝6937110 #1
    哦哦,Animal one = new Animal() 中 one引用了Animal对象,我操作one就可以调用Animal类中的东西了。这叫引用。new Animal()这个是构建了Animal的构造方法,创造了一个实例。 那么现在是Animal one = new Cat();我用one引用了父类对象Animal,但创造的实例却是子类Cat,并把这个实例作为值赋值或者说是指向了one。这就叫做父类引用指向子类对象是吗?
    2019-12-04 23:23:06
  • 好帮手慕小班 回复 提问者 慕丝6937110 #2
    同学的理解是正确的,很棒呐,继续加油 祝:学习愉快~
    2019-12-05 10:33:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师