javaSE知识自己理解解析Word文件下载.docx
- 文档编号:15883998
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:10
- 大小:67.46KB
javaSE知识自己理解解析Word文件下载.docx
《javaSE知识自己理解解析Word文件下载.docx》由会员分享,可在线阅读,更多相关《javaSE知识自己理解解析Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
2.函数只有被调用才会被执行,所以才需要创建对象来调用想要的函数方法。
定义函数时,函数的结果应该返回给调用者,交由调用者处理。
3.函数中只能调用函数,不可以在函数内部定义函数。
没有定义函数之前,不能调用函数。
4.输出语句只能对有具体返回结果的函数的进行打印。
返回值类型是void的函数,是不可以被输出语句打印的。
5构造函数与一般函数的区别:
1.构造函数如果前面加了void就变成一般函数。
构造函数的函数名要与类名一样,而普通的函数只要符合标识符的命名规则即可。
2.构造函数是对象创建时的初始化内容,而一般函数是需要函数功能时才会被调用。
3.构造函数就在创建对象时调用,普通函数可以使用对象多次调用。
可以理解为除了创建对象时调用的是构造函数,其他时候对象调用的都是一般函数。
反正要创建对象,就要调用方法。
5.继承----抽象类-----接口--------------多态
继承:
子继承父
抽象类:
存在继承关系。
接口:
实现多继承。
多态:
一个对象,两种形态。
类与类之间有关系,继承或者实现
抽象类注意细节
抽象类可以没有抽象方法(java.awt.*的类就是这样子操作的)。
抽象类可以继承普通类与抽象类。
抽象类不能直接使用类名创建实例,但是有构造方法,构造方法是让子类进行初始化。
抽象类一定有构造方法。
abstract与其他修饰符的关系:
final与abstract不能共存:
final:
它的作用修饰类代表不可以继承修饰方法不可重写
abstract修饰类就是用来被继承的,修饰方法就是用来被重写的。
staticstatic修饰的方法可以用类名调用,
对于abstract修饰的方法没有具体的方法实现,所有不能直接调用,
也就是说不可以与static共存。
private
private修饰的只能在本类中使用,
abstract方法是用来被子类进行重写的,有矛盾
所有不能共存.
练习:
使用抽象类计算一个矩形与圆形的面积。
接口的特点
1.类实现接口可以通过implements实现,实现接口的时候必须把接口中的所有方法实现,一个类可以实现多个接口。
2.接口中定义的所有的属性默认是publicstaticfinal的,即静态常量既然是常量,那么定义的时候必须赋值。
3.接口中定义的方法不能有方法体。
接口中定义的方法默认添加publicabstract
4.有抽象函数的不一定是抽象类,也可以是接口类。
5.由于接口中的方法默认都是抽象的,所以不能被实例化。
6.对于接口而言,可以使用子类来实现接口中未被实现的功能函数。
7.如果实现类中要访问接口中的成员,不能使用super关键字。
因为两者之间没有显示的继承关系,况且接口中的成员成员属性是静态的。
可以使用接口名直接访问。
8.接口没有构造方法。
6.static(静态的成员)
不需要创建对象,直接用主函数所属的类名调用即可。
7.抽象方法必须定义在抽象类中。
该类必须也被abstract修饰。
抽象类不可以被实例化。
为什么?
因为调用抽象方法没意义。
(抽象方法是空内容)抽象类必须在其子类覆盖了所有的抽象方法后,该子类才可以实例化。
否则,这个子类还是抽象类
8.接口中的方法只能用实现类对象调用,不能用接口调用。
因为接口不能创建对象,也就是接口不能实例化。
只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化。
否则,这个子类就是一个抽象类。
9.当一个抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口interface。
也就是说接口中的方法都是抽象的,所以不能创建对象。
10.abstract抽象:
1.描述一类事物的时候,该事物确实存在着某种行为,但是目前该行为是不具体的,那么可以只声明这种行为功能,但是不去实现该种行为功能,这时候可以使用抽象类。
2.抽象类虽然不能创建对象,但是可以提供构造方法给子类初始化继承的属性使用。
抽象类的好处:
可以强制指定子类实现指定方法。
11.值传递:
调用方法时,传递的变量是把变量存储的值传递,并没有把变量本身传递,(主方法和方法都有自己的形参变量,毫无关系)
12.在java中的接口主要是使用来拓展定义类的功能,可以弥补java中单继承的缺点。
接口就是一个特殊的类。
接口是提供给类实现使用的。
1.接口的成员变量都是常量,默认的修饰符为publicstaticfinal.
//定义成员变量
publicstaticfinalinti=10;
2.接口的成员函数默认的修饰符为publicabstract。
接口中方法全部都是抽象的方法。
//函数
publicabstractvoidprint();
3.接口中不能有构造方法,
因为接口的成员变量都是常量,函数都是抽象的。
没有任何意义。
13.匿名内部类是是局部内部类的简写,匿名内部类只是没有类名,其他成员还是有的。
创建对象时子类用的是父类的名字创建的。
14.多态:
父类或者接口的引用指向其子类的对象。
16调用非静态的方法,要先创建对象。
非静态的成员变量会在每个对象中都维护一份数据,有几个对象就有几份数据,静态的在每一个对象中共同维护一份。
17.字符串调用的是方法,length();
数组调用的是属性length.
18.理解:
单例设计模式:
不让其他人创建我这个类中的对象,所以自定义一个对象,并对外提供一些访问方式。
懒汉单例模式:
1.私有化构造函数。
2.声明本类的引用类型变量,但是不创建对象。
3.提供一个公共静态的方法获取本类的实例对象,获取的时候要先判断是否已经创建了,如果已经创建了本类的对象,那么直接返回本类的对象,如果没有创建,那么先创建对象,再返回。
//懒汉模式。
classSingle2{
//声明本类的引用类型变量,但是不创建对象。
privatestaticSingle2s=null;
//私有化构造函数。
privateSingle2(){}
//提供一个公共静态的方法获取本类的实例对象,获取的时候要先判断是否已经创建了,如果已经创建了本类的对象,那么直接返回本类的对象,如果没有创建,那么先创建对象,再返回。
publicstaticSingle2getInstance(){
if(s==null){
//如果没有创建,那么先创建本类的对象
s=newSingle2();
}
returns;
}
}
19.异常:
能够解决的各种各样不正常的现象。
遇到异常,先抛出,再捕获处理。
。
捕获处理:
try{//可能发生异常的代码}catch(异常类变量名){//处理}。
抛出处理:
功能内部处理不了就抛出使用thrownewException(异常内容),
抛出后需要在函数上进行声明,告知调用函数者,我有异常,要处理。
20.多线程:
同时运行多部分代码,可以理解为多种在执行的任务。
创建线程方式:
继承Thread类和实现Runnable接口。
Thread.currentThread().getName()//当前调用者对象。
21.创建线程的目的是实现多种任务同时运行。
22.集合:
存储数据的容器。
Collection(接口)集合的根接口
---Set(接口)无序,不可重复
-------Set的实现类:
HashSet实现set接口,有哈希表支持。
TreeSet使用元素的自然顺序对元素进行排序,如果对象是无序的可以使用实现比较器comparator接口来实现。
---List(接口)有序,可重复
--------List接口的实现类
ArrayList:
查找快,增删慢
LinkedList:
查找慢,增删快
Vector:
多线程安全,效率低
---Iterator(接口):
用于返回迭代器
------iterator(迭代器):
用于遍历集合
23.List接口要用到迭代器的话最好用自己的。
ListIteratorit=list.listIterator();
24迭代器:
是将集合中的元素一个一个拿出来,而不是仍然以集合的形式存在。
25.集合习题
1.要求什么什么要一样,要想到HashSet和HashMap(双列集合);
2.要求遍历,(查看集合中的元素)要想到迭代器iterator()和listIterator()
3.要求按照什么什么顺序排序,要想到TreeSet(的比较器)和TreeMap(根据键排序)
4.要求:
只要身份证一样,那么就为同一个人。
只需要重写toString,equals,hashCode三个方法即可。
26.单列集合的体系:
----------|Collection根接口
-------------|List实现了List接口的集合类具备有序、可重复的特点。
----------------|ArrayList特点:
底层使用了Object数组实现的,查询速度快,增删慢。
----------------|LinkedList特点:
底层使用了链表数据结构,查询速度慢,增删快。
----------------|Vector特点:
底层使用了Object数组实现的,但是是线程安全的,操作效率稍低。
-------------|Set实现了Set接口的集合类具有无序,不可重复.
----------------|HashSet底层使用了哈希表支持的,判断重复元素是依靠hashcode方法与equals方法。
----------------|TreeSet底层使用了红黑树数据结构,可以对元素进行排序,如果元素不具备自然顺序的特性,那么必须要实现comparable接口或者创建treeSet对象的时候传入一个比较器。
双列集合的体系:
---------|Map实现了Map接口集合类数据都是以键值对的形式存在,键不能重复,值可以重复。
------------|HashMap底层也是使用了哈希表支持的,添加元素的时候,会调用键的hashCode方法算出其在哈希表中所在的位置,如果该位置没有任何元素,那么直接添加,如果该位置存在元素,那么还会调用equals方法再对比一次,如果equlas方法返回的是true,那么不允许存储,返回false,允许存储。
------------|TreeMap特点:
也是使用了红黑树数据结构实现的,可以对键进行排序。
------------|HashTable与HashSet都是用哈希表支持的,但是hashtable是线程安全的,效率稍低,HashMap是线程非安全的,效率高。
27.continue:
跳出本次循环,继续下一次循环。
Return:
将返回值返回给调用者。
128.集合
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaSE 知识 自己 理解 解析
![提示](https://static.bdocx.com/images/bang_tan.gif)