`
yanguz123
  • 浏览: 568807 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

\(^_^)/ Java中的协变数组类型

    博客分类:
  • Code
 
阅读更多

下面代码执行有什么结果:

class Person {

	public void print() {
		System.out.println("Person");
	}
}

class Worker extends Person {

	public void print() {
		System.out.println("Worker");
	}
}

class Student extends Person {
	public void print() {
		System.out.println("Student");
	}
}

public class Test {
	public static void main(String[] args) {
		Person[] p = new Worker[10];
		p[0] = new Student();
		p[0].print();
	}
}

 

 

 

结果:

编译没有错误

输出:

Exception in thread "main" java.lang.ArrayStoreException: Student
	at Test.main(Test.java:24)

 

 

 注:

在Java中数组是类型兼容的。

如果将一个不兼容的类型插入到数组中,将抛出ArrayStoreException。

 

分享到:
评论

相关推荐

    MLDN魔乐科技JAVA培训_Oracle课堂24_嵌套表、可变数组.rar

    在Java中,我们通常使用PL/SQL游标和绑定变量来处理可变数组,通过CallableStatement的setArray和getArray方法进行交互。 总的来说,理解和熟练使用Oracle的嵌套表和可变数组是提升数据库开发效率的关键,尤其是在...

    oracle可变数组

    在Oracle数据库中,可变数组(VARRAY)是一种特殊类型的集合数据结构,类似于我们通常理解的数组,但提供了更强大的功能和灵活性。根据给定文件中的描述,“可变数组与嵌套表相似,也是一种集合。一个可变数组是对象...

    C#中可变数组运用

    初学者可以看看,欢迎交流! 可变数组与数组有很大区别,你能从中收获一点东西!

    c#可变数组 快来下

    总之,C#中的可变数组通过`ArrayList`和`List<T>`提供了灵活的数据存储方式。理解并熟练运用它们,对于编写高效、安全的C#代码至关重要。无论是初学者还是经验丰富的开发者,都应该掌握这些基本概念和用法。通过深入...

    MLDN魔乐科技_Oracle课堂24_嵌套表、可变数组

    在Oracle数据库系统中,嵌套表和可变数组是两种重要的高级数据类型,它们提供了处理复杂数据结构的能力,尤其在存储和操作集合类数据时显得非常有用。在本Oracle课堂中,我们将深入探讨这两个概念以及它们在实际应用...

    ansible-homebridge:此角色将设置和配置Homebridge安装

    变数# The homebridge version to runhomebridge_version : 1.2.5# The homebridge user home directoryhomebridge_dir : /var/homebridge# Path to homebridgehomebridge_bin : /usr/bin/homebridge# The ...

    [java]中的可变参数定义和使用

    ### Java中的可变参数定义与使用详解 #### 可变参数概述 在Java编程语言中,可变参数(Varargs)是一种特殊的参数形式,允许一个方法接受任意数量的同类型参数。这种特性使得方法能够更加灵活地处理不同数量的输入...

    OC开发之可变数组

    自己学习整理的可变数组的知识,希望对一起学习的朋友有帮助。

    java 中字符串只中英数字混合需要分割的解决办法

    这个方法用来处理java中可能有一些特别的需要,一大串中英文混合,需要中间截断或是中英中间添加一些特别的标识,调用这个方法 第一个参数是要处理的字符串,第二个是要在中英字符中间插入的字符。调用就可以得到想...

    可变数组.dev

    可变数组.dev

    java-immutable-collections:Java不可变的基于数组的集合

    ImmutableCollections-基于数组的Java不可变集合 版权所有(c)2017 Nicholas Cull 有关许可信息,请参阅LICENSE.txt。 Java 1.8的基于数组的不可变集合 排序和未排序的变体 风格类似于番石榴收集包装 空友好 Java 8...

    基本不等式及其应用知识梳理及典型练习题(含答案)归类.pdf

    3. 三相等:如果要求是最小值,那么需满足含变数的项相等;如果是最大值,则需要相应的比例关系成立。 除了基本不等式外,还有其他常用的不等式,例如: - a^2+b^2≥2ab(柯西-施瓦茨不等式的一个特殊情况,适用于...

    在POWERBUILDER中向动态链接库传递可变数组

    本文介绍了一种在中向动态链接库传递可变数组的方法

    ansible-freebsd-mailserver:角色扮演。 使用FreeBSD安装和配置postfix和dovecot2

    受到推崇的 变数查看vars中的默认值和示例。工作流程将shell更改为/ bin / sh shell> ansible mailserver -e 'ansible_shell_type=csh ansible_shell_executable=/bin/csh' -a 'sudo pw usermod freebsd -s /bin/sh'...

    Java新特性对数组的支持

    9. **空安全的构造器**:Java 14引入了空安全的构造器,如`List.of()`,可以安全地创建不可变数组。例如,`int[] intArray = new int[]{1, 2, 3}; List<Integer> list = List.of(intArray);` 这样创建的列表是不可变...

    java 求水仙花数

    在Java中,可以使用for循环来实现: ```java for (int i = 100; i ; i++) { // 检查i是否为水仙花数的逻辑代码将放在这里 } ``` 接下来,我们编写检查数字是否为水仙花数的逻辑。这通常涉及提取每一位数字并计算...

    ForceSub:强制订阅机器人

    检查已经在组中但尚未加入频道的用户。 变数 API_ID您来自my.telegram.org的电报api ID API_HASH来自my.telegram.org的电报api哈希 BOT_TOKEN您的电报机器人令牌。 CHANNEL用户必须加入的频道/组的用户名。 ...

    RedisCluster-with-Monitoring-Setup:Redis Cluster与Prometheus的这种组合启用了Prometheus监视|| 全自动|| 地形|| AWS || Ansible

    变数 默认值 可能的值 描述 redis_password NotWeak@123 任何强密码 Redis服务器密码 redis_logfile /var/log/redis/redis.log 任何Linux目录 Redis服务器的日志文件路径 redis_conf_file_location /etc/redis/...

    ansible-freebsd-mysql:角色扮演。 在FreeBSD上安装和配置MySQL

    查看defaults / main.yml和vars / main.yml中的示例 MySQL版本低于5.7的版本需要使用root密码的文件bsd_mysql_secret_local_file 默认情况下,服务器禁用bsd_mysql_enable:False 工作流程 将shell更改为/ bin / sh...

Global site tag (gtag.js) - Google Analytics