关于JVM中继承关系的实体是如何存储的,求大神详细指点?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

关于JVM中继承关系的实体是如何存储的,求大神详细指点?

2017-07-28 01:41:18 2207 1

//生物
class Creator {

private int age;
public int getAge() {
    return age;
}
public void setAge(int age) {
    this.age = age;
}
public Creator() {
    age = 1;
    System.out.println("this is Creator's constructor");
}

}

//动物类
class Animal extends Creator {

private String name;
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public Animal() {
    name="Animal";
    System.out.println("this is Animal's constructor");
}

}

//狗
class Dog extends Animal {

private String hostName;
public String getHostName() {
    return hostName;
}
public void setHostName(String hostName) {
    this.hostName = hostName;
}
public Dog() {
    hostName="Dog";
    System.out.println("this is Dog's constructor");
}

}
public class Demo{

public static void main(String[] args) {
    Creator c = new Dog();
    Animal a = (Animal)c; 
    Dog d = (Dog)c;
    System.out.println(" age:" + c.getAge()+",name:" + 
    a.getName()+",HostName:" + d.getHostName());
}

}
控制台打印
this is Creator's constructor
this is Animal's constructor
this is Dog's constructor
age:1,name:Animal,HostName:Dog
其实在Creator c = new Dog();执行的时候就会把Animal和Dog信息存储在Creator中只是类型不一致无法获取,它们在JVM是如何执行的?这样设计是否合理,会不会造成空间浪费?

取消 提交回答
全部回答(1)
  • 天雷henry
    2019-07-17 21:26:35

    当我们用一个类型的构造器构造出一个对象时,这个对象的类型就已经确定的,也就说它的本质是不会再发生变化了。示例代码其实是使用Creator类型的引用,指向的是Dog对象。在Java中我们可以通过继承、向上转型的关系使用父类类型来引用它,这个时候我们是使用功能较弱的类型引用功能较强的对象,这是可行的。

    0 0
相关问答

1

回答

如图,请问mqtt建立连接的压测,tps为啥这么少,这个是什么原因,报告id是90AF43GS?

2022-06-21 17:17:36 187浏览量 回答数 1

1

回答

存储在 OSS 图片旋转了 90 度是什么原因?

2021-03-10 20:14:00 533浏览量 回答数 1

0

回答

mysql5.7.17又有json字段的表,为什么不能进行连接查询?报错 663

2019-10-10 15:38:42 422浏览量 回答数 0

12

回答

关于对象存储oss计费方式

2018-08-01 17:43:02 10441浏览量 回答数 12

1

回答

java实体类中日期使用什么类型

2018-05-10 20:08:15 5876浏览量 回答数 1

3

回答

关于静态页面的js css引用问题

2016-12-02 14:11:13 2743浏览量 回答数 3

1

回答

请问这一段js代码是做什么的呢?有点看不明白

2016-07-14 15:07:48 1802浏览量 回答数 1

8

回答

阿里云OSS是最贵的云存储

2015-07-02 16:22:15 10124浏览量 回答数 8

1

回答

pdf.js断点续传在OSS上无效

2014-12-08 08:54:51 9364浏览量 回答数 1

3

回答

新站点:西二网,css、js加载速度快多了……感谢oss

2012-08-17 08:38:35 10257浏览量 回答数 3
+关注
0
文章
1
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载