java学习第16天(泛型 增强for)

泛型概述
是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。
格式:
<数据类型>
注意:该数据类型只能是引用类型。

好处:避免了强制类型转换,比如上个实验   String s=(String)e.nextElement();

如果我们使用了泛型在抽象的接口中,Interator <String>i=new  Collection().interator() ,后面它就会自动认为Interator的对象只能是String ,方便且避免了很多错误。

时间: 2024-08-10 06:13:38

java学习第16天(泛型 增强for)的相关文章

Java学习笔记九(泛型)

1.介绍 所谓的泛型就是将类型作为一种参数来传递,有了泛型后类型不再是一成不变的,可以通过泛型参数来指定.可以提供程序开发的灵活性. 2.泛型类或接口的使用 泛型类声明时,与普通类没有太大的区别,只是在类中加入了类型变量的声明 public class 类名<类型变量>{..........................................................................} <span style="font-family:SimS

我的java学习笔记(10)关于泛型数据列表

1.ArrayList是一个采用类型参数的泛型类. 2.为了指定数组列表保存的元素对象类型,需要用一对尖括号将类名括起来加在后面. ArryList<a> s = new ArrayList<a>();//右边尖括号里的参数可以省略 3.使用add方法将元素添加到数组列表中. s.add(a()); 4.数组列表管理着对象引用的一个内部数组.如果调用add且内部数组已经满了,数组列表就将自动的创建一个更大的数组,并将所有的对象从较小的数组中拷贝到较大的数组中. 5.还可以把出事容量

JAVA学习笔记-二分法排序(增强for循环)

package MyErFenPaiXu; public class Mycode { public static void main(String[] args){ int[] a ={18,63,25,46,3,0,99,1,2}; for(int j=0;j<a.length-1;j++){ //这里的意思为不断的比较,次数只要不小于5次就能遍历出想要的结果. for(int i=0;i<a.length-1-j;i++){ //遍历一次,一个大数会被移到最后的位置. if(a[i]&g

我的java学习笔记(16)关于对象克隆与调回

1.当拷贝一个变量时,原始变量与拷贝变量引用同一个对象,改变一个变量所引用的对象将会对另一个变量产生影响. a a1 = new a(); a a2 = a1; a2.up(10);//a1也会改变 2.如果创建一个对象的新的copy,它的状态与原来的对象一样,但以后可以各自改变各自的状态,那就需要使用clone方法. a a1 = new a(); a a2 = a1.clone(); a2.up(10);//a1不会改变了 3.如果对象中的所有数据域都属于数值或基本类型,这样的拷贝域没有任何

我的java学习笔记(16)关于内部类(part 1)

1.内部类是定义在另一个类中的类. 原因:a.内部类方法可以访问类定义所在的作用域中的数据,包括私有的数据. b.内部类可以对同一个包中的其他类隐藏起来. c.当想要定义一个回调函数且不想编写大量的代码时,使用匿名内部类比较便捷. 2.内部类皆可以访问自身的数据域,也可以访问创建它的外围类对象的数据域. 3.内部类的对象总有一个隐式引用,它指向了创建它的外部类对象.这个引用在内部类的定义中是不可见的. 4.外围类的设置一般都在内部类的构造器中设置. 5.只用内部类可以是私有类,而常规类只可以具有

Effective Java学习--第16条:复合优先于继承

在系统分析设计这门课中某王就不停地强调一点,就是ISA(is a 原则).都知道继承是面向对象的一大要素,但是哪里使用复合哪里使用继承,其实还是有讲究的. 可以简单的用ISA原则概括.有一个具备一定功能类,我们要对其功能进行拓展,到底是采用复合呢还是继承呢?当新类与旧类的关系是从属关系是,即cat is an animal,English book is a book,我们优先使用继承:当新类是旧类的组成部分之一时,即hand is a part of body,jiangsu is a par

Java学习笔记16(面向对象九:补充内容)

总是看到四种权限,这里做一个介绍: 最大权限是public,后面依次是protected,default,private private修饰的只在本类可以使用 public是最大权限,可以跨包使用,不同包的子类和无关类都可以使用,可以修饰类,方法,成员变量 不写权限就是default默认权限:限于本包内使用 protected权限:跨包后的类如果有继承关系(子类),不能使用default修饰的,而可以使用protected修饰的,调用时候必须在子类的里面才可以调用父类的受保护权限,注意prote

Java学习笔记16

Object类是所有类.数组.枚举类的父类,是类层次结构的根类.每个类都使用Object作为超类.所有对象(包括 数组)都实现这个类的方法. Object类实现了以下方法: 现在我们看看源码中notify().notifyAll().wait(long).wait(long,int).wait()是如何定义的: (1)notify(): public final native void notify(); (2)notifyAll(): public final native void noti

java 学习第16课,java 包、类等相关的一些基础知识

1.建议将类放在包中,不要使用无名包 2.建议包名都用小写单词组成,不要用大写 3.建议包名用“域名的倒写.项目名.模块名”的形式,以确保包名的唯一性 注意:类变量与实例变量.类方法与实例方法的区别 在前面加上static 就成了 类变量或类方法. 实例方法可以调用类中的其他方法 但是类方法只能调用 其他类static方法,不能调用 实例方法 类方法只有调用 类变量. 当类加载到内存时,实例方法.实例变量不会被分配内存空间,只有在创建对象之后才会被创建. 面类方法在该类加载到内存时就分配了相应的