`
guojch
  • 浏览: 70772 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

这个类里有多少错误?(答案)

阅读更多
答案其实很简单,都是非常基础的东西,但是平时可能不太在意这些细节,在找的时候也有可能不太确定(对我来说)。

答案如下:

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import org.junit.Test;


public class GenericTest {

	static class Person {
		public void m(Collection<Person> persons) {
			
		}
	}
	
	//泛型声明要放在返回值的前面,所以<T>要放在void前面
	static class Employee extends Person {
		public void <T> isManager() {
		}
		
	}
	
	//泛型不具有协变性,所以下面是编译不了的
	static class Student extends Person {
		public void m2(Collection<Student> students) {
			super.m(students);
		}
		
	}
	
	
	//数组具有协变性,对于用父类声明的子类数组,在设置其他子类对象的时候虽然编译不报错,但是运行时会抛出ArrayStoreException
	@Test(expected=ArrayStoreException.class)
	public void arrayStoreExceptionTest() {
		Person[] persons = new Employee[5];
		persons[0] = new Employee();
		persons[1] = new Student();
	}
	
	//下面是正确的
	@Test
	public void arrayStoreTest() {
		Person[] persons = new Person[2];
		persons[0] = new Employee();
		persons[1] = new Student();
	}
	//下面语句在编译时就会出错,体现出泛型列表不具有协变性
	public void genericTest() {
		List<Person> personList = new ArrayList<Employee>();
	}
	
	
	
	
	//static方法和static域均不可引用类的泛型变量,下例中即T
	static class Generic<T> {
		
		static T t;
		
		static void method1(T t) {
			
		}
		void m1(T t){
			
		}
		
	}
}

分享到:
评论

相关推荐

    模式分类_答案_第二版_全

    接下来,从标签“模式分类 duda 课后答案”中,我们可以推测出该书可能与Duda这个名字相关联。实际上,根据一般知识,R.O. Duda、P.E. Hart和D.G. Stork是模式分类领域中的知名学者,其中Duda更是该领域的一个标志性...

    网络配置课后题答案.pdf

    * 当使用子网掩码/28来划分一个C类地址时,每个子网中有多少台主机?答案:6台。 * 一个B类网络地址,它的掩码是255.255.255.0。下面哪些选项是对这个网络地址的正确的描述?答案:每一个子网中有254个有效的主机...

    C#程序员面试问题及答案

    答案:可以,标记这个类为 public,并标记这个方法为 sealed。 知识点:可以使用sealed关键字标记某个方法,使其不能被子类覆写。 15. 什么是抽象类(abstract class)? 答案:一种不可以被实例化的类。抽象类中...

    java试题 java笔试题 java面试题

    答案:C.constructor 在一个对象被new时执行 4. Which package provides Java with the ability to access databases? 答案:A.java.sql 5. 下列运算符哪一个是合法的? 答案:A.&& 6. 执行如下程序代码,C的...

    大学生英语竞赛C类样题及答案.rar

    总的来说,这个《大学生英语竞赛C类样题及答案》资源提供了丰富的实践机会,帮助参赛者熟悉考试模式,提升英语技能。考生应充分利用这些资料,结合个人实际情况,制定科学的学习计划,以期在大英赛中取得优异的成绩...

    Vue 37 道面试题及答案.docx

    答案:JS 中主要有三类错误:加载时错误、运行时错误和逻辑错误。加载时错误是加载 Web 页面时出现的错误,如语法错误。运行时错误是由于滥用 HTML 语言中的命令而导致的错误。逻辑错误是由于对具有不同操作的函数...

    练习题(含答案)_c++oj答案_c++类oj习题_

    这个压缩包文件"练习题(含答案)_c++oj答案_c++类oj习题_"似乎包含了一系列关于C++类与对象的在线判断题(Online Judge, OJ)解答,这对于学习者来说是一个宝贵的资源,可以帮助他们检验和提升在类和对象方面的理解...

    ENetwork_Chapter_8思科网络学院第8章答案

    答案:会将数据转发到错误的节点、通过该电缆传输的数据可能发生信号丢失、将对该电缆中传输的数据采用不正确的信号方法、该电缆中发送的数据所采用的编码方法将更改,用于补偿不当连接。 11. 哪种信号传输方法使用...

    21春奥鹏解题通福师《计算机应用基础》在线作业一.doc

    答案:目标区域已经有数据。 “磁盘扫描程序”的作用是什么?答案:修复文件错误。 哪个键可以将字母锁定为大写?答案:CAPSLOCK键。 在Excel 2000中,除以零导致的错误值是什么?答案:#DIV/0!。 指挥、协调...

    珍藏资料Java面试宝典2015版.docx

    答案:可以,但是有一个限制:只有一个 public 类,且文件名必须与该 public 类同名。 2. Java 中有没有 goto 语句? 答案:没有,Java 不支持 goto 语句。 3. && 和 & 的区别是什么? 答案:& 是 bitwise AND ...

    QT理论试题及答案

    解释:该类声明中有三个错误:public slot 声明错误、setValue 函数声明错误、valueChanged 信号声明错误。 13. 设有如下声明... 正确答案:c. 11 12 解释:当执行 b.setValue(11) 后,b 的值将被设置为 11,然后...

    c++类和对象习题答案

    在这个“C++类和对象习题答案”中,我们可能看到关于类的设计、对象的创建、成员函数的使用、继承、多态等关键概念的练习和解答。 1. **类的定义与对象的创建** - 类定义:类通过`class`关键字创建,它包含数据...

    C++A卷201801秋答案1

    在C++语言中,类和对象包括普通类、抽象类、模板类和继承类等。 9. C++语言的继承包括哪些?(答案:D) 在C++语言中,继承包括单继承、多继承、多重继承和菱形继承等。 10. C++语言的多态包括哪些?(答案:B)...

    Java高级面试题及答案整理(2021年Java面试题答案大汇总)

    答案:使用Thread类的Sleep()方法可以让线程暂停一段时间,但需要注意的是,这并不会让线程终止,一旦从休眠中唤醒线程,线程的状态将会被改变为Runnable,并且根据线程调度,它将得到执行。 2.Java中的原型模式...

    Java的第二章作业答案

    - 这个答案看起来不太标准,可能是打字错误或者是某种特定情境下的缩写。无法直接解析其含义。 5. **c.** - 同样缺乏上下文,但从格式上看,可能是在询问一个具体的Java概念或规则,并给出了正确选项c作为答案。 ...

    全国大学生数学竞赛数学类1-10届试题答案.zip

    本压缩包包含了从第1届至第10届的数学类竞赛试题及答案,覆盖了初赛和复赛的全部题目,对于参赛者或希望提高数学能力的学生来说,是一份极其宝贵的资源。 每一届的试题都反映了当时的数学教育重点和趋势,通过研究...

    JAVA开发工程师测试题.doc

    5. 若要编写一个类Hello,下列说法中哪些是错误的? 答案:D 解释:在Java中,源代码文件的名称必须与类名相同,否则编译将会出错。 6. 下面哪些是Java关键字? 答案:D 解释:implements是Java的一个关键字,...

    计算机网络吴功宜版答案

    因为连续测试 4000B 的数据时可能发现没有错误,但如果测试的二进制位数比 4000B 时,就可能出现错误,那这个系统的误码率就不是为 0 了。 * 问题 10:试说明 PPP 协议的应用范围和帧结构方面的特点。 答案:PPP ...

Global site tag (gtag.js) - Google Analytics