其实我真的不是来搞笑的(内含java学习笔记)

来源:互联网 发布:知乎win10显示不了桌面 编辑:程序博客网 时间:2024/05/11 04:35

其实我真的不是来搞笑的!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!学习java快一年了,学java之前学过C。学完java,自认为已经初步具备了面向对象的思想。根据我自己的认识。面向对象和面向过程其实在编写程序时,是不那么严格区分的,重要的是你该如何运用这种编程方式。举一反三,许多编程语言思想都是相同的,只不是语法少有差别罢了。我在大一下学期寒假自学了android开发,本来想将来搞android的,不过把android,了解过之后,并且都已自学完。(好像关于数据库和网络方面还是一窍不通诶,惭愧~~)。其实一直想接触数据库方面,但是一直没时间,也不知道该从哪一门数据库入手,就一直耽搁下来了,导致我现在做程序,牵扯到数据库就一头雾水啊!!!!其实说了这摸多,也不知道自己想说啥,感觉跑题啦哈!

前两天以为学长找到我,说是一个公司要和我们合作搞ios开发,学长知道我在学android,想法交给我来做。所以呢,我就犹豫要不要放弃android转ios呢,毕竟还android自学了这摸长时间,也经理了很多苦头,收获了很多自学的能力(记得当初为了安装一个android开发环境,就整正不吃不喝弄了两天,夸张了哈大笑,,二切弄好后又是各种问题百出,又是百度谷歌,又是论坛救助的,可是忙坏了宝宝啊哭,期间也好几次想过放弃,但往往是吃了一顿饭或者是睡了一觉,有开开心心的和android干起来),现在要我转向ios还是有点不舍啊,不是因为别的,仅仅是因为不想让自己的努力白费。

现在这个阶段,也不知道未来那个会更火。一直纠结了很长时间。其实归根结底还是因为钱!!钱!!钱!!!啊,没错就是钱,我努力学习技术,有两个原因,意识出于对技术本身的痴迷,二是因为想早早在大学期间就能找个公司做项目,整点生活费的啥了,周末带个女朋友出去爬爬山,旅旅游,吃吃饭啦。好吧,幻想就此打住,现实告诉我,我现在还是一只大学汪汪。大哭大哭大哭

还是说回ios的事吧,和我合作的的那个公司还挺仗义的,愿意提供两台Mac给我使用,前提是给他们宣传自己的公司,好吧,天下哪有免费的午餐,我是一个买不起mac的穷学生,我承认。但是,现在机会来了,别人给我提供设备,我们属于相互利用哈,(这里说好像不合适呀!),总之这都不重要。重要的是我终于些这写着最初了我最终的决定。我要开始ios学习之路啦。但是我不知道是用Objective-c呢还是swift呢,真是纠结。但是我手里的学习资料都是用O-c的,据我了解这个o-c的家伙还是面向对象的。二swift就不是很了解了。也不知道为甚末,一听到面向都想我就纳格激动啊,(可能是因为我就是个单身狗吧 !哭),毕竟我也是学过java的男银啊。面向对象对我还不是小意思!

我以为不知道我今天到底想写些什么,总之想到哪就写到哪了。好了好了,我也不再这扯淡了了,时间不早了,系系睡吧!明天早上还有课呢。(才想起来作业还没写呢大哭)。

微笑安 world!

以下附上我的java学习总结:

哈哈

java基础知识总结:

软件一班  

整理:李增光

1、        java的版本:     java SE             java EE              java ME

2、        java最大特性;跨平台 

Java语言有下面一些特点:简单、面向对象、分布式、解释执行、健壮、安全、体系结构中立、可移植、高性能、多线程以及动态性。

3、        Java源代码文件编译后生成的字节码文件,其扩展名是 .class

 

4、             java命名:java的变量名可以为:英文字母,下划线和英文$;不可是其他字符

 

5、             自动类型转换与强制类型转换。在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换j

java中的自动类型转换条件:1. 目标类型能与源类型兼容,如double 型兼容 int 型,但是 char 型不能兼容 int 型
2. 目标类型大于源类型,如double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了

 

6、        final 常量名 = 值,在程序运行工程中不允许改变。常量名一般使用大写字符。

 

7、             注释  //单行注释      /* */多行注释

 

8、             运算符优先级:

 

9、       java是面向对象的,不能直接调用函数,必须先建立对象,再用对象进行调用

 

10、     Java中方法的重载, 同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。

 

11、     类是模子,确定对象将会拥有的特征(属性)和行为(方法)。类的特点:类是对象的类型,具有相同属性和方法的一组对象的集合。

 

12、     对象的属性:对象具有的各种特征,每个对象的每个属性都拥有特定值。

 

13、    类和对象的关系:类是抽象的概念,仅仅是模板,对象是一个能够看得到、摸得着的具体实体

------->这也就是一个类要进行实例化(创建对象)的原因

14、     所有java程序都以类class为组织单元,确定对象将会拥有的特征(属性)和行为。类由属性和方法组成

 

15、     定义一个类的步骤。a.定义类名 b.编写类的属性 c.编写类的方法.

 

16、     Java对象:a、创建对象   类名 对象名 = new 类名(); b、使用对象  引用对象的属性——对象名.属性,引用对象的方法 ——对象名.方法名()

 

17、     成员变量:在类中定义,用来描述对象将要有什么。

18、       局部变量:在类的方法中定义,在方法中临时保存数据。

19、     成员变量不用赋初值,默认为0;  但局部变量要初始化.   成员变量和局部变量可以相同,但是局部变量具有优先级

20、     java是面向对象的程序设计语言,

21、     java面向对象的三大特性:   封装性     继承性      多态性



Java2

1、             java中的构造方法。使用 new+构造方法() 创建一个新的对象。构造方法是定义在Java类中的一个用来初始化对象的方法构造。 构造方法与类同名且没有返回值。如果没有指定一个无参构造方法,系统会自动指定一个无参构造方法。创建对象的时候执行构造方法。有参构造方法的目的只有一个,就是初始化对象成员变量的值,因此可以传参数

2、        Java 中的 static 使用之静态变量。Java 中被 static 修饰的成员称为静态成员或类成员。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问(不推荐,浪费内存)。但是一般都是用类名直接访问

静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资源回收。

3、        Java 中的 static 使用之静态方法。与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。

a、       静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。

b、       如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。

c、         在普通成员方法中,则可以直接访问同类的非静态变量和静态变量

d、             静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

e、        

4、        Java 中的 static 使用之静态初始化块

在类的声明中,可以包含多个初始化块,当创建类的实例时(就是创建对象时),就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。

需要特别注意:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

 

5、         封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。                                    1.概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。
2.好处:a.只能通过规定的方法访问数据 b.隐藏类的实例细节,方便修改和实现。
3.封装的实现步骤:修改属性的可见性(设为private),创建getter/setter方法(用于属性的读写),在getter/setter方法中加入属性控制语句(对属性值的合法性进行判断)。

 

6、        包的作用:管理Java文件,解决同名文件冲突。  定义包:package 包名 注:必须放在Java源程序的第一行,包名间用“.”号隔开。

7、             系统中的包:1.包的作用:管理Java文件,解决同名文件冲突。
2.定义包:package 包名
注:必须放在Java源程序的第一行
包名间可以使用“.”隔开
eg:com.imooc.MyClass
3.系统中的包:
java.(功能).(类)
java.lang(类) 包含Java语言基础的类
java.util(类) 包含Java语言中各种工具类
java.io(类) 包含输入,输出相关功能的类

 

8、        包的使用 import java.util*;包的全名 小写。(导包)

9、             private        protected        public;  

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

10、     this 关键字 代表当前对象 this.属性 this.方法  当局部变量和成员变量同名时,用  this 区别

 

11、     Java 中的内部类。内部类( Inner Class )就是定义在另外一个类里面的类。与之对应,包含内部类的类被称为外部类。成员内部类,静态内部类,方法内部类,匿名内部类。

a. 内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类

b. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据

c. 内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便    内部类可分为以下几种:

Ÿ  成员内部类

Ÿ  静态内部类

Ÿ  方法内部类

Ÿ  匿名内部类

 

12、     Java 中的成员内部类

a、 Inner 类定义在 Outer 类的内部,相当于 Outer 类的一个成员变量的位置,Inner 类可以使用任意访问控制符,如 public 、 protected 、 private 等

b、 Inner 类中定义的 test() 方法可以直接访问 Outer 类中的数据,而不受访问控制符的影响,如直接访问 Outer 类中的私有属性a

c、 定义了成员内部类后,必须使用外部类对象来创建内部类对象,而不能直接去 new 一个内部类对象,即:内部类对象名 = 外部类对象.new 内部类( );

 

d、 编译上面的程序后,会发现产生了两个 .class 文件

13、     Java 中的静态内部类

静态内部类是 static 修饰的内部类,这种内部类的特点是

a、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员 的方式访问

b、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

c、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类对象名= new 内部类();

 

14、     Java 中的方法内部类

方法内部类就是内部类定义在外部类的方法中方法内部类只在该方法的内部可见,即只在该方法内可以使用。

 

由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和static 修饰符。

15、     继承(单继承):is-a 语法规则:class 子类 extends 父类{};

               子类继承父类所有属性和方法(private修饰的除外)
               继承是单继承,只能有一个父类;

 

16、      方法的重写.

什么是方法的重写:

如果子类对继承父类的方法不满意,是可以重写父类继承的方法的,当调用方法时会优先调用子类的方法

。调用方法时会优先调用子类的方法。

      返回值类型、方法名、参数类型及个数 都要与父类继承的方法相同。

17、      继承的初始化顺序:先初始化父类再初始化子类;先执行初始化对象中属性,再执行构造方法中的初始化。

18、     final关键字做标识有“最终的”含义,final可以修饰类、方法、属性和变量。

Final修饰属性的时候必须初始化或在构造方法中赋值。修饰变量时只能赋值一次。修饰类时不能被继承。修饰方法时,不能被重写。

19、      super关键字:在对象的内部使用,可以代表父类对象,访问父类的属性,或访问父类的方法。-------->与this对比记忆

20、     super的应用,子类的构造的过程当中必须调用其父类的构造方法。

如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。

21、     object类。

Object类是所有类的父类,如果一个类没有使用extends关键字明确标识集成另一个类,那么这个类默认继承Object类。
Object类中的方法,适合所有子类

 

a. toString()方法 在Object类里面定义toString()方法的时候返回的对象的哈希code码 (对象地址字符串)。 可以通过重写toString()方法表示出对象的属性。(重写toString()方法     source--->generatetostring())

b. equals()方法 比较的是对象的引用是否指向同一块内存地址。 一般情况下比较两个对象时比较他的值是否一致,所以要重写。(重写equals()方法     source--->generatehashcpde and equals())

22、    多态——对象的多种形态

      继承是多态的实现基础
     不能使用子类的引用指向父类的对象,

     能使用父类的引用指向子类的对象;

 

a. 引用多态 父类的引用可以指向本类的对象 父类的引用类指向子类的对象

b. 方法多态创建本类对象时,调用的方法为本类方法。创建子类对象时,调用的方法为子类重写的方法或者继承的方法。

c. Animal dog = new Dog();这就是父类的引用(Animaldog)指向子类的对象(new Dog();)。对的 但这个引用不能调用Dog独有的方法。

Animal:父类         Dog:子类    

23、     引用类型转换。向上、向下。

instanceof 避免类型转换的安全性问题 判断一个引用是否是某个类型或者某个类型的子类型。

 

24、      抽象类:抽象类:
1. 语法定义:
抽象类前使用abstract关键字修饰,则该类为抽象类。
2. 应用场景:
a. 在某些情况下,某个父类只知道其子类应该包含怎么样的方法,但无法准确知道这些子类如何实现这些方法。
b. 从多个具体有相同特征的类中抽象出一个抽象类,以及这个抽象类作为子类的模板,从而避免了子类设计的随意性。
3. 作用:
限制规定子类必须实现某些方法,但不关注实现细节。
4. 使用规则:
a. abstract定义抽象类
b. abstract定义抽象方法,只声明,不需要实现。
c. 包含抽象方法的类是抽象类
d. 抽象类中可以包含普通方法,也可以没有抽象方法。
e. 抽象类不能直接创建,可以定义引用变量
abstract类就是继承自它的类会自动有abstract类中的方法,但是没有实现。正常继承的是可以使用父类已经实现了的方法。

例如:          abstract class Animal { abstract void grow();}

 

25、接口:一种特殊的类,由全局常量和公共的抽象方法所组成。类是一种具体实现体,而接口定义了某一批类所需要遵守得规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只规定这些类里必须提供某些方法。

 

接口定义:使用interface关键字

接口定义的基本语法:

[修饰符] interface 接口名 [extends 父接口1,父接口2…]-------->(后面可以继承多个父接口)

{

 零到多个常量定义…

 零到多个抽象方法的定义…

}接口中方法不能有方法体,同时方法的访问修饰符不能是 private 和 protected

                                                              

接口就是用来被继承、被实现的,修饰符一般用public 不能使用private和protected.

26、接口中的属性是常量,即使定义时不添加public static final 修饰符,系统也会自动加上。

接口中的方法只能是抽象方法,总是使用,系统自动添加 public final.

 

使用接口:一个类可以实现一个或多个接口,实现接口使用implements关键字

 

[修饰符] class 类名 extends 父类 implements 接口1,接口2…

 

如果要继承父类,继承父类必须在实现接口之前

 

通过接口描述两个不同类之间的共同特征。

 

接口的使用——通过接口的引用=========

 

接口在使用过程当中,经常与匿名内部类配合使用。

 

匿名内部类:没有名字的内部类。

 

 

Interface I = new Interface(){

public void method(){

system.out.println(“匿名内部类实现接口的方式“);

}

};

 

27、UML统一建模语言或标准建模语言 图形化语言。用例图、序列图、类图。

 

java高级特性:

异常

异常简介:有异于常态,和正常情况不一样,有错误出现。阻止当前方法或作用域,称之为异常。

什么是异常?

1、        Throwable(所有异常的祖先):分为 Error 和 Exception

2、        Error异常:虚拟机错误 或者线程死锁——程序崩溃。

3、        Exception:编码、环境、用户操作输入出现问题 .包括:RuntimeException(非检查异常)和其他异常(检查异常)

4、        RuntimeException(运行时异常、非检查异常):例如 引用了一个空对象的属性或者方法,数组访问越界,错误的类型转换,算数方面的异常(除以0)

5、       运行时异常由java虚拟机自动抛出并自动捕获,当出现运行时异常绝大部分说明代码本身有问题,从逻辑上改进代码

6、        其他异常各种各样,需要手动检查处理。

7、        捕获、处理异常:try-catch以及try-catch-finally;

try{

//一些会抛出异常的方法

}catch(Exception e){

 //处理该异常的代码块

}

8、        try中出现异常,程序终止,程序的控制权将被移交给catch块中的异常处理程序。Catch中处理方法各种各样。

9、       catch语句执行结束后,外面的语句会继续顺序执行

10、     若try抛出很多种异常?——用多个catch块。

11、     编写try-catch语句,注意顺序。先小后大(先子类后父类)。如果顺序写错,编译器报错

12、    finally:善后工作 finally{}比如释放空间等

13、     e.printStackTrace() ;打印异常

14、     java中的异常抛出:throw,throws

15、     throw抛出一个或多个异常,多个异常用“,“隔开。---(用在方法内)

16、     throws ——声明将要抛出何种类型的异常(声明)------(用在方法上)

      //调用会抛出异常的方法或者:

      throw new Exception();

}

17、     如果某个方法调用了会抛出异常的方法,那么必须添加try-catch语句去

捕获异常,或者添加throws声明语句将异常抛出给更上层的调用者处理异常

上图左边为可以处理的异常,右边处理不了,继续抛出给父类异常。

18、     自定义异常

class 自定义异常类 extends 异常类型{

}

19、     java中的异常链:把捕获的异常包装成新的异常,在新的异常里添加对原始异常的引用,再把新异常抛出。

 

20、     经验

 

21、     Java 中的字符串

在 Java 中,字符串被作为 String 类型的对象处理。 String 类位于 java.lang 包中。默认情况下,该包被自动导入所有的程序。

22、     Java中字符串的不变性

String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。

23、     Java中 String 类的常用方法 Ⅰ

String 类提供了许多用来处理字符串的方法,例如,获取字符串长度、对字符串进行截取、将字符串转换为大写或小写、字符串分割等

 

24、     Java中的 String 类常用方法 Ⅱ

      “==” 和 equals() 有什么区别呢?

==: 判断两个字符串在内存中首地址是否相同,即判断是否是同一个字符串对象

equals(): 比较存储在两个字符串对象中的内容是否一致

PS:字节是计算机存储信息的基本单位,1 个字节等于 8 位, gbk 编码中 1 个汉字字符存储需要 2 个字节1 个英文字符存储需要 1 个字节。每个汉字对应两个字节值,如“学”对应 “-47 -89” ,而英文字母 “J” 对应 “74” 。同时,我们还发现汉字对应的字节值为负数,原因在于每个字节是 8 位,最大值不能超过 127,而汉字转换为字节后超过 127,如果超过就会溢出,以负数的形式显示。

28、     Java中的 StringBuilder 类

在Java中,除了可以使用 String 类来存储字符串,还可以使用StringBuilder 类或 StringBuffer 类存储字符串

StringBuffer 是线程安全的,而 StringBuilder 则没有实现线程安全功能,所以性能略高。因此一般情况下,如果需要创建一个内容可变的字符串对象,应优先考虑使用StringBuilder 类

StringBuffer和StringBuilder   类中的方法一毛一样哦,唯一不同的只是线程安全问题....!

29、     Java中的 StringBuilder 类的常用方法

StringBuffer:

1,是一个字符串缓冲区,其实就是一个容器,

2,长度可变,可存储任意类型. 注意:是讲仁义数据转成字符串进行存储.

3,容器对象提供了很多对容器中数据的`操作功能,.如:增(append),删(delete),改(replace),查.

------>详细方法请大家参阅javaAPI文档

 

     

创建一个字符串缓冲区对象

     例如;    StringBuffer  sb=new StringBuffer();//创建对象,才能调用方法

调用StringBuffer类中的相应方法,用于操作数据

   例如;      sb.append(“追加内容”);

30、     Java中的包装类

基本数据类型包装类:

     java将基本数据类型封装成对象,----->有啥好处类????------>可提供更多                     的操作基本数值的功能.

      包装类主要提供了两大类方法:

1. 将本类型和其他基本类型进行转换的方法

2. 将字符串和本类型及包装类互相转换的方法

31、     Java中基本类型和包装类之间的转换

 

装箱:把基本类型转换成包装类,使其具有对象的性质,又可分为手动装箱和自动装箱

拆箱:和装箱相反,把包装类对象转换成基本类型的值,又可分为手动拆箱和自动拆箱

 

32、     Java中基本类型和字符串之间的转换

      基本类型转换为字符串有三种方法:

1. 使用包装类的 toString() 方法

2. 使用String类的 valueOf() 方法

3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串

将字符串转换成基本类型有两种方法:

1. 调用包装类的 parseXxx 静态方法

2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱

33、     Date和 SimpleDateFormat 类表示时间

 

使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下:

1.   0使用 format() 方法将日期转换为指定格式的文本

 

 

2.   使用 parse() 方法将文本转换为日期

 

注意事项:

1、 调用 SimpleDateFormat 对象的 parse() 方法时可能会出现转换异常,即 ParseException ,因此需要进行异常处理

2、 使用 Date 类时需要导入 java.util 包,使用 SimpleDateFormat 时需要导入 java.text 包

34、     Calendar类的应用

Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calendar类进行时间和日期的处理。

java.util.Calendar 类是一个抽象类,可以通过调用 getInstance() 静态方法获取一个 Calendar 对象,此对象已由当前日期时间初始化,即默认代表当前时间,如 Calendar c = Calendar.getInstance();

那么如何使用 Calendar 获取年、月、日、时间等信息呢?我们来看下面的代码:

其中,调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为Calendar 类中定义的静态常量

运行结果

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar 和 Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。如下所示:

35、     Math 类操作数据

Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名

 

                    详情参阅java API文档.

 

36、     java中的集合框架概述

37、   集合的概述,a.现实生活中:很多的事物凑在一起。b.数学中的集合:具有共同属性的事物的总体。

38、    Java中的集合类:是一种工具类,就像是容器,储存任意数量的具有共同属性的对象。

39、   集合的作用:

          a.在类的内部,对数据进行组织;

          b.简单而快速的搜索大数量的条目;

          c.有的集合接口,提供了一系列排列有序的元素,并且可以在序列中间快速的插入或者删除有关元素;

          d.有的集合接口,提供了映射关系,可以通过关键字(KEY)去快速查找到对应的唯一对象,而这个关键字可以是任意类型。

与数组对比:

          数组的长度固定,集合长度可变

          数组只能通过下标访问元素,类型固定,而有的集合可以通过任意类型查找所映射的具体对象。

Java集合框架体系结构 主要两大类:Collection接口和Map接口。

                       Collection: List、Queue(有序、可重复)

                         Set(无序、不可重复)。

                         List中重要的是ArrayList,

                       Queue中重要的是LinkedList,

                       Set中重要的是HashSet。(存储的是一个一个的对象)

Map最常用的是实现类:HashMap。(存储的是一个映射(Key,Value)键值对)

40、     Collection接口、子接口以及实现类

Collection接口 

 a.是List、Set和Queue接口的父接口。

 b.定义了可用于操作List、Set和Queue的方法——增删改查  add,remove…

41、      List接口及其实现类——Arraylist

       a、List是元素有序并且可以重复的集合,被称为序列

       b、List可以精确的控制每个元素的插入位置,或删除某个位置元素。

      c、ArrayList——数组序列,是List的一个重要实现类。

      d、ArrayList底层是由数组实现的

 

      






4 0
原创粉丝点击