canvas教程

【第九章.泛型(2)

字号+ 作者:H5之家 来源:H5之家 2017-08-16 15:00 我要评论( )

个方法,若子类需要重写父类的方法,就必须注意这一点: 1 public class A1 extends AppleString{ 2//正确重写了父类的方法,返回值 3//与父类AppleString的返回值完全相同 4public String getInfo(){ 5return "子

     个方法,若子类需要重写父类的方法,就必须注意这一点:

1 public class A1 extends Apple<String>{ 2 //正确重写了父类的方法,返回值 3 //与父类Apple<String>的返回值完全相同 4 public String getInfo(){ 5 return "子类" + super.getInfo(); 6 } 7 /* 8 //下面方法是错误的,重写父类方法时返回值类型不一致 9 public Object getInfo(){ 10 return "子类"; 11 } 12 */ 13 } View Code

    若使用Apple类没有传入实际的类型参数,java编译器可能发出警告:使用了未经检查或不安全的操作——这就是泛型检查的警告。若希望看到该警告的更详细信息,可

     以为javac命令增加-Xlint:unchecked选项来实现。此时系统会把Apple<T>类里的T类型参数当成Object类型处理:

1 public class A2 extends Apple{ 2 //重写父类的方法 3 public String getInfo(){ 4 //super.getInfo()方法返回值是Object类型 5 //所以加toString()才返回String类型 6 return super.getInfo().toString(); 7 } 8 } View Code

  并不存在泛型类:

1 import java.util.List; 2 import java.util.ArrayList; 3 4 public class GeneicCompare{ 5 public static void main(String[] args){ 6 //分别创建List<String>对象和List<Integer>对象 7 List<Integer> list1 = new ArrayList<>(); 8 List<String> list2 = new ArrayList<>(); 9 //调用getClass()方法来比较list1和list2的类是否相等 10 System.out.println(list1.getClass() == list2.getClass()); 11 } 12 } View Code

  List<String> 和 List<Integer>的类是相同的,不管泛型的实际类型参数是什么,它们在运行时总有同样的类。

  不管为泛型类型参数传入哪一种类型实参,对Java来说,它们依然被当成同一个类处理,在内存中也只占用一块内存空间,因此不能在静态方法、静态初始化块或者静态变量

   的声明和初始化中使用类型参数:

1 public class R<T>{ 2 //下面代码是错误的,不能在静态变量中使用类型形参 3 static T info; 4 T age; 5 public void foo(T msg){ } 6 //下面代码是错误的,不能在静态方法声明中使用类型形参 7 public static void bar(T msg){ } 8 } View Code

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 使用jquery-qrcode生成二维码

    使用jquery-qrcode生成二维码

    2017-08-16 14:01

  • python学习笔记14--用Tkinter实现GUI编程

    python学习笔记14--用Tkinter实现GUI编程

    2017-08-15 17:00

  • Canvas名侦探柯南-canvas练习,canvas-canvas

    Canvas名侦探柯南-canvas练习,canvas-canvas

    2017-08-12 14:00

  • 读javascript高级程序设计04-canvas

    读javascript高级程序设计04-canvas

    2017-08-06 11:01

网友点评