`

java泛型学习一:解惑继承

 
阅读更多
package generic;

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

public class Instends {
	public static void  test1(){
		//一、泛型中的可以值继承
		//1、直接赋值测试
		 List<Object> l1=new ArrayList<Object>();
			l1.add("aa");
			l1.add("bb");
		for (int i = 0; i < l1.size(); i++) {
			System.out.print(l1.get(i)); //result:aabb
		}
		//2、方法参数测试
	      test2(l1);	//result:aabb
		//二、泛型中不可以使用声明继承:如果Foo是Bar的一个子类型(子类或者子接口),而G是某种泛型声明,那么G<Foo>是G<Bar>的子类型并不成立!!
	     // 1、直接赋值测试
		List<String> l2=new ArrayList<String>();
		//List<Object> l3=l2;//type mismatch,cannot convert List<String> to List<Ojbect>
		/**
		 * 分析原因如下:
		 * l3.add(new Object()); 
         * String s = l2.get(0); //  试图把Object赋值给String,这肯定是错误的。
         *
		 */
		//2、方法参数测试:与第三种情况类似,声明继承是无效的。
		List<String> l4=new ArrayList<String>();
		l4.add("aa");
		//test2(l4); compile error 		
	}
	public static void   test2(List<Object> arg){
		for( Object o:arg){
			System.out.print(o);
			}
		
		
	}
	 

}

 

分享到:
评论

相关推荐

    Java解惑(中文版)_java_java解惑_solve65p_

    《Java解惑(中文版)》是一本专为Java初学者设计的学习资料,旨在帮助读者解答在学习Java过程中遇到的各种困惑。"solve65p"可能代表这本书包含65个问题或主题,每个都深入浅出地进行了讲解,旨在解决初学者在编程...

    Java解惑.pdf

    Java编程语言是世界上最流行的开发平台之一,广泛应用于企业级应用、...通过深入学习和理解这些Java知识点,并结合"Java解惑.pdf"文档中的实例和解决方案,开发者可以更好地解决实际开发中遇到的问题,提升编程技能。

    Java学习解惑全集

    3. **继承**:一个类继承另一个类,获取其属性和方法,实现代码复用。 4. **多态**:同一接口,不同实现,提供了灵活的扩展性和可维护性。 5. **抽象类与接口**:抽象类用于定义通用特性,接口则用于规范行为。 6. *...

    最新版的Java-解惑

    《Java解惑》是一本专为Java初学者和进阶者设计的指南,旨在帮助读者解决在学习和实践中遇到的各种问题。这本书深入浅出地解析了Java编程中的常见困惑,涵盖了语言基础、类库应用、多线程、网络编程、异常处理、内存...

    2010年-Java解惑(中文)

    - 类与对象:Java是一种面向对象的语言,理解类的定义、对象的创建以及封装、继承和多态是学习Java的基础。 - 数据类型:Java分为基本数据类型和引用数据类型,理解它们的区别和用法至关重要。 - 控制流:包括...

    Java解惑(中文).pdf

    一个类只能继承一个抽象类,但可以实现多个接口。 4. **异常处理**:Java的异常处理机制通过`try-catch-finally`块实现,理解如何正确地捕获和处理异常是编写健壮代码的关键。 5. **集合框架**:ArrayList与...

    JAVA解惑

    《JAVA解惑》是一本专为Java初学者和开发者设计的电子书,旨在解决他们在学习和实践Java过程中遇到的各种疑惑。这本书深入浅出地讲解了Java编程语言的关键概念和技术,帮助读者建立扎实的基础,并提升解决问题的能力...

    java解惑java解惑java解惑

    "Java解惑"这个主题,显然旨在帮助开发者解决他们在学习和实践中遇到的问题。在Java的世界里,疑惑可能涵盖语法、类库、框架、并发、内存管理等多个方面。下面,我们将深入探讨一些常见的Java解惑知识点。 1. **...

    JAVA解惑.rar

    《JAVA解惑》这本书无疑是Java开发者的一份宝贵资源,它涵盖了从初级到高级的各种Java编程问题,旨在帮助读者深入理解这个强大的编程语言。在阅读这本书的过程中,你可以期待学习到以下关键知识点: 1. **Java基础...

    Java解惑(中文).zip

    "Java解惑(中文)"很可能是一个专门针对初学者和有一定经验的开发者设计的资源,旨在帮助他们解决在学习和实践中遇到的问题。这个压缩包文件包含了一个名为"Java解惑(中文).pdf"的PDF文档,很可能提供了详细的知识...

    4,JAVA解惑 高清PDF 下载

    《JAVA解惑》是Java开发者领域的一本经典著作,它被广大编程爱好者称为Java四大名著之一,旨在解决初学者及有一定经验的开发者在学习和使用Java过程中遇到的各种困惑。这本书深入浅出地讲解了Java语言的核心概念和...

    Java学习资料&项目源码&教程

    7. **数组**:一维、二维数组的声明、初始化和操作。 8. **方法**:定义、调用和参数传递。 9. **面向对象编程**:封装、继承、多态的基本概念。 10. **继承和多态**:子类继承父类,实现多态性。 11. **抽象类和...

    Java解惑

    在Java编程语言的世界里,"Java解惑"很可能是一份旨在帮助开发者解决常见问题和误解的文档。这个标题暗示了这份PDF可能包含了对Java中一些复杂或者易混淆概念的清晰解释,通过解答一些编程谜题,帮助程序员们纠正...

    java解惑(最具影响力的JAVA书籍)

    4. **面向对象编程**:Java是纯面向对象的语言,封装、继承和多态是其三大特性。书中可能深入解析这些概念,包括如何设计良好的类结构,如何有效利用接口,以及如何实现多态性。 5. **集合框架**:Java集合框架包括...

    java 解惑,很不错。

    《JAVA解惑》可能是一本旨在帮助Java开发者解决常见问题和困惑的书籍。书名中的“解惑”表明它可能包含了一些深入的解释、技巧和最佳实践,帮助读者理解和解决在编程过程中遇到的问题。以下是几个可能涵盖的知识点:...

    Java解惑(中文)

    - **多态**:一个接口可以有多种不同的实现,是Java中实现动态绑定的关键。 - **接口**:接口定义了一组方法,但不提供具体实现,用于实现多重继承。 3. **异常处理** - **异常**:在程序运行时可能出现的错误,...

    JAVA面试题解惑系列

    以下是一些基于“JAVA面试题解惑系列”可能涵盖的Java编程核心概念和技术的详细解释: 1. **基础语法**:Java的基础包括变量、数据类型(如整型、浮点型、字符型、布尔型)、运算符(算术、比较、逻辑、位操作符)...

    JAVA解惑.大全和问题解析

    - 继承:一个类可以继承另一个类的属性和方法,实现代码复用。 - 多态:同一行为在不同对象上有不同的表现形式,是Java中实现动态绑定的关键。 3. **内存管理与垃圾回收**: - 分区模型:了解堆、栈、方法区等...

Global site tag (gtag.js) - Google Analytics