javaSE知识(自己理解)_第1页
javaSE知识(自己理解)_第2页
javaSE知识(自己理解)_第3页
javaSE知识(自己理解)_第4页
javaSE知识(自己理解)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1返回值类型: 运行这段程序得出的一个运算结果的类型。2理解:形式参数是一个变量,是用来存储当前函数被对象调用的时候传递进来的具体数值。简化:该变量是用于存储具体数值的。形式参数:是一个变量,用于存储调用函数传递进来的实际参数。实际参数:传递给形式参数的具体数值。返回值:返回给调用者。 3函数类对象1. 想用方法,先创建对象。2. 创建对象要使用类,类是在创建对象时使用。4函数的特点 :为什么要构造函数?1.可以将功能代码进行封装,便于对该功能进行重复使用。2.函数只有被调用才会被执行,所以才需要创建对象来调用想要的函数方法。定义函数时,函数的结果应该返回给调用者,交由调用者处理。3函数中只能

2、调用函数,不可以在函数内部定义函数。没有定义函数之前,不能调用函数。4. 输出语句只能对有具体返回结果的函数的进行打印。返回值类型是void的函数,是不可以被输出语句打印的。5构造函数与一般函数的区别:1. 构造函数如果前面加了void就变成一般函数。构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。2. 构造函数是对象创建时的初始化内容,而一般函数是需要函数功能时才会被调用。3. 构造函数就在创建对象时调用,普通函数可以使用对象多次调用。可以理解为除了创建对象时调用的是构造函数,其他时候对象调用的都是一般函数。反正要创建对象,就要调用方法。5.继承-抽象类-接口-多态继

3、承:子继承父抽象类:存在继承关系。接口:实现多继承。多态:一个对象,两种形态。类与类之间有关系,继承或者实现抽象类注意细节抽象类可以没有抽象方法(java.awt.*的类就是这样子操作的)。抽象类可以继承普通类与抽象类。抽象类不能直接使用类名创建实例,但是有构造方法,构造方法是让子类进行初始化。抽象类一定有构造方法。abstract与其他修饰符的关系:final与abstract不能共存:final:它的作用 修饰类代表不可以继承 修饰方法不可重写abstract修饰类就是用来被继承的,修饰方法就是用来被重写的。static static修饰的方法可以用类名调用, 对于abstract修饰的方

4、法没有具体的方法实现,所有不能直接调用,也就是说不可以与static共存。privateprivate修饰的只能在本类中使用,abstract方法是用来被子类进行重写的,有矛盾所有不能共存.练习:使用抽象类计算一个矩形与圆形的面积。接口的特点1. 类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口。2. 接口中定义的所有的属性默认是public static final的,即静态常量既然是常量,那么定义的时候必须赋值。3. 接口中定义的方法不能有方法体。接口中定义的方法默认添加public abstract4. 有抽象函数的不一定是抽象

5、类,也可以是接口类。5. 由于接口中的方法默认都是抽象的,所以不能被实例化。6. 对于接口而言,可以使用子类来实现接口中未被实现的功能函数。7. 如果实现类中要访问接口中的成员,不能使用super关键字。因为两者之间没有显示的继承关系,况且接口中的成员成员属性是静态的。可以使用接口名直接访问。8. 接口没有构造方法。6.static(静态的成员)不需要创建对象,直接用主函数所属的类名调用即可。7. 抽象方法必须定义在抽象类中。该类必须也被abstract修饰。抽象类不可以被实例化。为什么?因为调用抽象方法没意义。(抽象方法是空内容)抽象类必须在其子类覆盖了所有的抽象方法后,该子类才可以实例化。

6、否则,这个子类还是抽象类8.接口中的方法只能用实现类对象调用,不能用接口调用。因为接口不能创建对象,也就是接口不能实例化。只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。否则,这个子类就是一个抽象类。9. 当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口 interface。也就是说接口中的方法都是抽象的,所以不能创建对象。10. abstract 抽象: 1.描述一类 事物的时候,该事物确实存在着某种行为,但是目前该行为 是不具体的,那么可以只声明这种行为 功能,但是不去实现该种行为功能,这时候 可以使用抽象类。2 .抽象类虽然

7、不能创建 对象,但是可以提供构造方法给子类 初始化继承的属性使用。抽象类的好处:可以强制指定子类实现指定方法 。11. 值传递:调用方法时,传递的变量是把变量存储的值传递,并没有把变量本身传递,(主方法和方法都有自己的形参变量,毫无关系)12.在java中的接口主要是使用来拓展定义类的功能,可以弥补java中单继承的缺点。接口就是一个特殊的类。接口是提供给类实现使用的。1. 接口的成员变量都是常量,默认的修饰符为 public static final./定义成员 变量public static final int i = 10;2. 接口的成员函数默认 的修饰符为 public abstra

8、ct。 接口中方法全部都是抽象的方法。/函数public abstract void print();3. 接口中不能有构造方法,因为接口的成员变量都是常量,函数都是抽象的。没有任何意义。13.匿名内部类是是局部内部类的简写,匿名内部类只是没有类名,其他成员还是有的。创建对象时子类用的是父类的名字创建的。14.多态:父类或者接口的引用指向其子类的对象。16 调用非静态的方法,要先创建对象。非静态的成员变量会在每个对象中都维护一份数据,有几个对象就有几份数据,静态的在每一个对象中共同维护一份。17.字符串调用的是方法,length();数组调用的是属性 length.18.理解:单例设计模式:不

9、让其他人创建我这个类中的对象,所以自定义一个对象,并对外提供一些访问方式。懒汉单例模式:1. 私有化构造函数 。2. 声明本类的引用类型变量,但是不创建对象。3. 提供一个公共静态的方法获取本类的实例对象,获取的时候要先判断是否已经创建了,如果已经 创建了本类 的对象,那么直接返回本类的对象,如果没有创建,那么先创建对象,再返回。/懒汉模式。class Single2/声明本类的引用类型变量,但是不创建对象。private static Single2 s = null;/ 私有化构造函数 。private Single2()/提供一个公共静态的方法获取本类的实例对象,获取的时候要先判断是否已

10、经创建了,如果已经 创建了本类 的对象,那么直接返回本类的对象,如果没有创建,那么先创建对象,再返回。public static Single2 getInstance()if(s=null)/如果没有创建,那么先创建本类的对象s = new Single2();return s;19.异常:能够解决的各种各样不正常的现象。遇到异常,先抛出,再捕获处理。捕获处理:try/可能发生异常的代码 catch(异常类 变量名)/处理。抛出处理:功能内部处理不了就抛出使用throw new Exception(异常内容),抛出后需要在函数上进行声明,告知调用函数者,我有异常,要处理。20.多线程:同时运

11、行多部分代码,可以理解为多种在执行的任务。创建线程方式:继承Thread类和实现Runnable接口。Thread.currentThread().getName()/当前调用者对象。21.创建线程的目的是实现多种任务同时运行。22.集合:存储数据的容器。Collection(接口) 集合的根接口-Set(接口) 无序,不可重复-Set的实现类:HashSet 实现set接口,有哈希表支持。TreeSet使用元素的自然顺序对元素进行排序,如果对象是无序的可以使用实现比较器comparator接口来实现。-List(接口) 有序,可重复-List接口的实现类ArrayList:查找快 ,增删慢L

12、inkedList:查找慢 ,增删快Vector:多线程安全,效率低- Iterator(接口):用于返回迭代器-iterator(迭代器): 用于遍历集合23.List接口要用到迭代器的话最好用自己的。ListIterator it = list.listIterator();24迭代器:是将集合中的元素一个一个拿出来,而不是仍然以集合的形式存在。25.集合习题1.要求什么什么要一样,要想到HashSet和HashMap(双列集合);2.要求遍历,(查看集合中的元素)要想到迭代器iterator()和listIterator()3.要求按照什么什么顺序排序,要想到TreeSet(的比较器)和

13、TreeMap(根据键排序)4. 要求:只要身份证一样,那么就为同一个人。只需要重写toString,equals,hashCode三个方法即可。26. 单列集合的体系:-|Collection 根接口-|List 实现了List接口 的集合类具备有序、可重复的特点。-|ArrayList 特点: 底层使用了Object数组实现 的,查询速度快,增删慢。-|LinkedList 特点: 底层使用了链表数据结构,查询速度慢,增删快。-|Vector 特点: 底层使用了Object数组实现 的 ,但是是线程安全的,操作效率稍低。-|Set 实现了Set接口的集合类具有无序,不可重复. -| Has

14、hSet 底层使用了哈希表支持的, 判断重复元素是依靠hashcode方法与equals方法。-| TreeSet 底层使用了红黑树数据结构,可以对元素进行排序,如果元素不具备自然顺序的特性,那么必须要实现comparable接口或者创建treeSet对象的时候传入一个比较器。双列集合的体系:-| Map 实现了Map接口集合类数据都是以键值对的形式存在,键不能重复,值可以重复。-|HashMap 底层也是使用了哈希表支持的,添加元素的时候,会调用键的hashCode方法算出其在哈希表中所在的位置,如果该位置没有任何元素,那么直接添加,如果该位置存在元素,那么还会 调用equals方法再对比一

15、次,如果equlas方法返回的是true,那么不允许存储,返回false,允许存储。-|TreeMap 特点: 也是使用了红黑树数据 结构实现的,可以对键进行排序。-| HashTable 与HashSet都是用哈希表支持的,但是hashtable 是线程安全的,效率稍低,HashMap是线程非安全的,效率高。27.continue:跳出本次循环,继续下一次循环。Return:将返回值返回给调用者。1 28.集合booleancontains(Objecto) 如果此 collection 包含指定的元素,则返回 true。booleanequals(Objecto) 比较此 collecti

16、on 与指定对象是否相等。static voidsort(Listlist, Comparatorc) 根据指定比较器产生的顺序对指定列表进行排序。29.内部类中访问局部变量,成员变量需要被final修饰30hashCode() 返回该对象的哈希码值(哈希码值可以理解成内存地址 )。equals(Object obj) 用于比较 两个对象 是否为同一个对象,其实比较的是两个对象 的内存地址,如果是同一个对象返回true,否则返回false. 但是重写equals之后表示的是同一个内容,但不是同一个对象。String类已经重写了equals方法,比较的是字符串的内容是否相等。31. .toStr

17、ing() 返回该对象描述的字符串表示。/重写了toString之后就可以直接用引用对象看到想看到内容。32使用泛型的时候,不能使用基本数据类型,char和int,应该是他们对应的封装类Character和Integer2 33. 二维数组格式; 数组类型 数组名 = new 数组类型一维数组的个数每一个一维数组中元素的个数;34. 35.IO体系图36.封装:就是把一堆数据放一起。37.凡是一种功能就独立成一个方法,方便方法重复使用。38.不能使用static修饰局部变量39.构造代码块:创建对象的时候,都会调用构造代码块的代码,对对象进行统一的初始化。在成员位置的代码块就是构造代码块。静态

18、代码块:构造代码块使用了static修饰。当类文件被加载到内存中的时候,就会执行,只会执行一次。构造代码块实际上是在构造函数中执行的,静态的成员变量初始化时在静态代码块中执行的。40.工具类中的构造函数都是私有的(相当于封装),目的是不让其他类创建对象。41.静态的成员随着类的加载而加载,是优先于对象加载的,非静态成员是随着对象的存在而存在的。静态方法只能访问静态对象,如果要访问非静态方法,必须创建对象调用。非静态访问静态直接调用就可以啦。42.转换流:1.把字节流转字符流。可以指定编码读取或者写入文件。前面一半字节流,后面一般字符流43.方法又返回值类型就定义一个变量接收他44.构造器:在Java程序中,每个类都必须至少有一个构造器(Constructor)。构造器是创建一个类的实例(对象)时需要调用的一个特殊的方法。利用构造器可以产生一个类的实例,并且提供了一个地方用来定义创建类的实例时都需要执行的初始化(initialize)代码。简称:构造器就是构造方法45.包装类:Byte,Short,Integer,Long,Character,Float,Double,Boolean.46.相对路径:相对于当前文件所在的路径。47.配置文件肯定在工程中的48.工作队列:如果任务之间有关系就不能用工作队列49.嵌套循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论