欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年java各知识点详细总结 .pdf

    • 资源ID:35799465       资源大小:372.48KB        全文页数:36页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年java各知识点详细总结 .pdf

    读书之法 ,在循序而渐进 ,熟读而精思Java 知识第 1 章一、 java 概述1、java 发展:1991 年 Sun公司的 James Gosling 等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、 PDA等的微处理器;1994年将 Oak语言更名为 Java;2、Java 的三种技术架构 : JAVAEE :Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发;JAVASE :Java Platform Standard Edition ,完成桌面应用程序的开发,是其它两者的基础;JAVAME :Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序;3、JDK :Java Development Kit,java 的开发和运行环境, java 的开发工具集和jre 。4、JRE :Java Runtime Environment,java 程序的运行环境, java 运行的所需的类库 +JVM(java虚拟机) 。5、配置环境变量: Path: 操作系统外部命令搜索路径 Classpath: 类文件搜索路径“ . ”表当前目录6、javac 命令和 java 命令要知道 java 是分两部分的:一个是编译,一个是运行。javac :负责的是编译的部分,当执行javac 时,会启动java 的编译器程序。对指定扩展名的.java文件进行编译 , 生成了 jvm 可以识别的字节码文件 , 也就是 class 文件,也就是 java 的运行程序。java :负责运行的部分 . 会启动 jvm. 加载运行时所需的类库 , 并对 class 文件进行执行。一个文件要被执行 , 必须要有一个执行的起始点, 这个起始点就是 main 方法. 7、虚拟机当我们在虚拟机中进行软件评测时,可能系统一样会崩溃,但是,崩溃的只是虚拟机上的操作系统,而不是物理计算机上的操作系统,并且,使用虚拟机的“Undo ” (恢复)功能,可以马上恢复虚拟机到安装软件之前的状态。8、public class和 class public class:文件名称和类名称一致,一个*.java文件之中只能够存在一个public class定义。 / 文件名称保持与此主类名称一致才可 class :文件名称和类名称不一致,一个*.java文件之中可以同时存在多个class 定义,并且编译之后会形成不同的 *.class文件。第 2 章 java语法基础1、关键字: 某种语言赋予了特殊含义的单词。保留字 :还没有赋予特殊含义,但是准备日后要使用的单词。2、标示符: 就是在程序中自定义的名词。比如类名,变量名,方法名。包含 0-9 、a-z 、$、_ ;注意: 1)数字不可以开头。 2 )不可以使用关键字。3、常量: 是在程序中不会变化的数据。4、变量: 其实就是内存中的一个存储空间,用于存储数据。作用:方便运算。因为有些数据不确定,所以确定该数据的名字和存储空间。特点:变量空间可以重复使用。什么时候定义变量? 只要是数据不确定的时候,就定义变量。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思变量空间的开辟需要什么要素呢?(1)数据类型。(2)变量名称。(3)变量的初始化值。变量的作用域和生存期 : 变量的作用域:作用域从变量定义的位置开始,到该变量所在的那对大括号结束;生命周期:变量从定义的位置开始就在内存中有生命了;变量到达它所在的作用域的时候就在内存中消失了;5、数据类型 :1)基本数据类型 :byte 、short 、int 、long 、float、double 、char 、boolean 2)引用数据类型 : 数组、类、接口。级别从低到高为: byte,char,short(这三个平级 )-int-float-long-double 自动类型转换: 从低级别到高级别,系统自动转换;强制类型转换: 什么情况下使用 ?把一个高级别的数赋给一个比该数的级别低的变量;格式:类型变量名 =(类型)表达式;例:int a=(int)100L; 6、运算符号:1)算术运算符。+ - * / % %:任何整数模 2 不是 0 就是 1,所以只要改变被模数就可以实现开关运算。+:连接符。+,- 2)赋值运算符。= += -= *= /= %= 3)比较运算符。特点:该运算符的特点是:运算完的结果,要么是true ,要么是 false 。4)逻辑运算符。& | ! & | 逻辑运算符除了 ! 外都是用于连接两个boolean 类型表达式。&: 只有两边都为 true 结果是 true 。否则就是 false 。|: 只要两边都为 false结果是 false ,否则就是 true : 异或: 两边结果一样,就为false 。两边结果不一样,就为true. & 和 &区别: & :无论左边结果是什么,右边都参与运算。 &: 短路与 ,如果左边为 false ,那么右边不参数与运算。| 和| 区别: | :两边都运算。| :短路或 ,如果左边为 true ,那么右边不参与运算。5)位运算符 : 用于操作二进制位的运算符。& | (无符号右移 ) 7、语句 If switch do while while for 1)当判断固定个数的值的时候,可以使用if ,也可以使用 switch 。但是建议使用 switch ,效率相对较高。 /switch只适用于准确的数或者能够计算出结果值的表达式。switch( 变量) case 值: 要执行的语句 ;break; default:要执行的语句 ; 工作原理:用小括号中的变量的值依次和case 后面的值进行对比,和哪个case 后面的值相同了名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思就执行哪个 case 后面的语句,如果没有相同的则执行default后面的语句;细节: (1)break是可以省略的,如果省略了就一直执行到遇到break 为止; (2)switch 后面的小括号中的变量应该是byte,char,short,int四种类型中的一种; (3)default可以写在 switch 结构中的任意位置; 如果将 default语句放在了第一行,则不管 switch 中的变量与 case 中的值是否匹配,程序会从default开始执行直到第一个break 出现。2)当判断数据范围,获取判断运算结果boolean 类型时,需要使用if 。3)当某些语句需要执行很多次时,就用循环结构。while 和 for 可以进行互换。区别在于:如果需要定义变量控制循环次数。建议使用for 。因为 for 循环完毕,变量在内存中释放。break: 作用于 switch ,和循环语句,用于跳出,或者称为结束。/ 终止当前循环。break 语句单独存在时, 下面不要定义其他语句, 因为执行不到,编译会失败。当循环嵌套时,break只跳出当前所在循环。要跳出嵌套中的外部循环,只要给循环起名字即可,这个名字称之为标号。假设标号定义为outer ,continue outer 代表跳过本次循环, 进入 outer 所指的循环; breaj outer 代表跳出 outer 所指的外层循环体。continue:只作用于循环结构,继续循环用的。作用:结束本次循环,继续下次循环。该语句单独存在时,下面不可以定义语句,执行不到。8、方法 :为了提高代码的复用性,可以将其定义成一个单独的功能,该功能的体现就是java 中的方法。java 中的方法的定义格式:修饰符 返回值类型方法名 ( 参数类型形式参数 1,参数类型形式参数 1,) 执行语句;return 返回值; 当方法没有具体的返回值时,返回的返回值类型用void 关键字表示。如果方法的返回值类型是void 时,return语句可以省略不写的,系统会帮你自动加上。return的作用: 结束方法。结束功能。如何定义一个方法?方法其实就是一个功能,定义方法就是实现功能,通过两个明确来完成:1)明确该功能的运算完的结果,其实是在明确这个方法的返回值类型。2)在实现该功能的过程中是否有未知内容参与了运算,其实就是在明确这个方法的参数列表( 参数类型 &参数个数 ) 。方法的作用:1)用于定义功能。2)用于封装代码提高代码的复用性。注意:方法中只能调用方法,不能定义方法。/ 不可以嵌套的定义方法。主方法:1)保证该类的独立运行。2)因为它是程序的入口。3)它被 jvm 调用。格式为 public static void main (String args) 重载 的定义是:在一个类中,如果出现了两个或者两个以上的同名方法,只要它们的参数的个数,或者参数的类型不同, 即可称之为该方法重载了。 / 通过传递参数的个数及类型不同以完成不同功能的方法调用。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思如何区分重载: 当方法同名时,只看参数列表。和返回值类型没关系。9、数 组:用于存储同一类型数据的一个容器。好处: 可以对该容器中的数据进行编号,从0 开始。数组用于封装数据,就是一个具体的实体。如何在 java 中表现一个数组呢?两种表现形式。1)元素类型 变量名 = new 元素类型 元素的个数 ;/ 此形式没有对数组进行一个具体的赋值2)元素类型 变量名 = 元素 1,元素 2.;元素类型 变量名 = new 元素类型 元素 1,元素 2.;第 3 章面向对象一、在类中的定义都称之为成员。成员有两种:1、成员属性 :对应的就是事物的属性。2、成员方法 :对应的就是事物的行为。必须先要对事物进行属性和行为的分析,才可以用代码来体现。注意:主方法的存在,仅为该类是否需要独立运行,如果不需要,主方法是不用定义的。主方法的解释: 保证所在类的独立运行,是程序的入口,被jvm 调用。成员属性和局部变量的区别:1、成员属性直接定义在类中。局部变量定义在方法中,参数上,语句中。2、成员属性在这个类中有效。局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。3、成员属性存在于堆内存中,随着对象的产生而存在,消失而消失。局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。二、构造方法 :用于给对象进行初始化,是给与之对应的对象进行初始化,它具有针对性,方法中的一种。特点 :1、该方法的名称和所在类的名称相同。2、不需要定义返回值类型。3、该方法没有具体的返回值。记住:所有对象创建时,都需要初始化才可以使用。注意事项: 一个类在定义时,如果没有定义过构造方法,那么该类中会自动生成一个空参数的构造方法,为了方便该类创建对象,完成初始化。如果在类中自定义了构造方法,那么默认的构造方法就没有了。一个类中,可以有多个构造方法,因为它们的方法名称都相同,所以只能通过参数列表来区分。所以,一个类中如果出现多个构造方法。它们的存在是以重载体现的。构造方法和一般方法有什么区别呢?1、两个方法定义格式不同。2、构造方法是在对象创建时,就被调用,用于初始化,而且初始化动作只执行一次。/ 所以一名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思般对封装了的成员属性进行构造方法初始化后,还要用 set 进行设置,以方便随时对属性值进行更改。一般方法是对象创建后,需要调用才执行,可以被调用多次。三、封装(面向对象特征之一) :是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。好处: 将变化隔离;便于使用;提高重用性;安全性。封装原则: 将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。注意:私有仅仅是封装的一种体现形式而已。private int age; / 私有的访问权限最低,只有在本类中的访问有效。私有的成员: 其他类不能直接创建对象访问,所以只有通过本类对外提供具体的访问方式来完成对私有的访问,可以通过对外提供方法的形式对其进行访问。好处: 可以在方法中加入逻辑判断等操作,对数据进行判断等操作。总结:属性是用于存储数据的,直接被访问,容易出现安全隐患,所以,类中的属性通常被私有化,并对外提供公共的访问方法。这个方法一般有两个,规范写法:对于属性,可以使用setter(),getter()方法对其进行操作。为属性封装: private 属性类型属性名称为方法封装: private 方法返回值方法名称(参数列表)/一般很少使用方法封装。例:private int x; public int getX() return x; public void setX(int x) this.x=x; 四、 this:代表对象。就是所在方法所属对象的引用。哪个对象调用了this所在的方法, this就代表哪个对象,就是哪个对象的引用。在定义功能时,如果该功能内部使用到了调用该功能的对象,这时就用this来表示这个对象。this 还可以用于构造方法间的调用。调用格式: this( 实际参数 ) ;this对象后面跟上.调用的是成员属性和成员方法(一般方法 ) ;this对象后面跟上 () 调用的是本类中的对应参数的构造方法。注意:用 this调用构造方法,必须定义在构造方法的第一行。因为构造方法是用于初始化的,所以初始化动作一定要执行。否则编译失败。五、 static: 关键字,是一个修饰符,用于修饰成员( 成员属性和成员方法 )。特点:1、想要实现对象中的共性数据共享。可以将这个数据进行静态修饰。2、被静态修饰的成员,可以直接被类名所调用。也就是说,静态的成员多了一种调用方式。类名. 静态方式 。/ 如果定义了一个 Circle类,类中有一个静态的成员属性int static i=0,则在主方法中调用它时直接+Circle.i 3、静态随着类的加载而加载。而且优先于对象存在。弊端:1、有些数据是对象特有的数据,是不可以被静态修饰的。因为那样的话,特有数据会变成对象名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思的共享数据。这样对事物的描述就出了问题。所以,在定义静态时,必须要明确,这个数据是否是被对象所共享的。2、静态方法只能访问静态成员,不可以访问非静态成员。( 这句话是针对同一个类环境下的,比如说,一个类有多个成员(属性,方法,字段),静态方法那么可以访问同类名下其他静态成员 ,如果访问非 静态成员 就不行 ),因为静态方法加载时,优先于对象存在,所以没有办法访问对象中的成员。3、静态方法中不能使用this ,super 关键字。因为 this代表对象 ,而在静态时,有可能没有对象,所以this无法使用。4、主方法是静态的。成员属性和静态变量的区别:1,成员属性所属于对象。所以也称为实例变量。静态变量所属于类。所以也称为类变量。2,成员属性存在于堆内存中。静态变量存在于方法区中。3,成员属性随着对象创建而存在。随着对象被回收而消失。静态变量随着类的加载而存在。随着类的消失而消失。4,成员属性只能被对象所调用。静态变量可以被对象调用,也可以被类名调用。所以, 成员属性可以称为对象的特有数据,静态变量称为对象的共享数据。匿名对象使用场景 :1、当对方法只进行一次调用的时候,可以使用匿名对象。2、当对象对成员进行多次调用时,不能使用匿名对象。必须给对象起名字。- 六、继承(面向对象特征之一)好处:1、提高了代码的复用性。2、让类与类之间产生了关系,提供了另一个特征多态的前提。父类:其实是由多个类不断向上抽取共性内容而来的。java 只支持单继承。 java 虽然不直接支持多继承,但是保留了这种多继承机制,进行改良。单继承:一个类只能有一个父类。多继承:一个类可以有多个父类。为什么不支持多继承呢?因为当一个类同时继承两个父类时,两个父类中有相同的功能,那么子类对象调用该功能时,运行哪一个呢?因为父类中的方法中存在方法体。但是 java 支持多重继承。 A继承 B B 继承 C C 继承 D 。多重继承的出现, 就有了继承体系。 体系中的顶层父类是通过不断向上抽取而来的。父类里面定义的该体系最基本最共性内容的功能。所以,一个体系要想被使用, 直接查阅该系统中的父类的功能即可知道该体系的基本用法。那么想要使用一个体系时, 需要建立对象。 建议建立最子类对象, 因为最子类不仅可以使用父类中的功能。还可以使用子类特有的一些功能。简单说:对于一个继承体系的使用,查阅顶层父类中的内容,创建最底层子类的对象。子父类出现后,类中的成员都有了哪些特点:1、成员属性。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思当子父类中出现一样的属性时,子类类型的对象,调用该属性,值是子类的属性值。如果想要调用父类中的属性值,需要使用一个关键字:super This :代表是本类类型的对象引用。Super:代表是子类所属的父类中的内存空间引用。注意:子父类中通常是不会出现同名成员属性的,因为父类中只要定义了,子类就不用在定义了,直接继承过来用就可以了。2、成员方法。当子父类中出现了一模一样的方法时,建立子类对象会运行子类中的方法。好像父类中的方法被覆盖掉一样。所以这种情况,是方法的另一个特性:覆盖( 复写,重写 ) 什么时候使用覆盖呢?当一个类的功能内容需要修改时,可以通过覆盖来实现。3、构造方法。发现子类构造方法运行时,先运行了父类的构造方法。为什么呢? 原因: 子类的 所有构造方法中的第一行,其实都有一条隐身的语句super();super(): 表示父类的构造方法,并会调用于参数相对应的父类中的构造方法。而super() 是在调用父类中空参数的构造方法。为什么子类对象初始化时,都需要调用父类中的方法?( 为什么要在子类构造方法的第一行加入这个 super()?) 因为子类继承父类, 会继承到父类中的数据, 所以必须要看父类是如何对自己的数据进行初始化的。所以子类在进行对象初始化时,先调用父类的构造方法,这就是子类的实例化过程 。注意: 子类中所有的构造方法都会默认访问父类中的空参数的构造方法,因为每一个子类构造内第一行都有默认的语句super(); 如果父类中没有空参数的构造方法,那么子类的构造方法内,必须通过super 语句指定要访问的父类中的构造方法。如果子类构造方法中用this来指定调用子类自己的构造方法,那么被调用的构造方法也一样会访问父类中的构造方法。问题: super() 和 this()是否可以同时出现在构造方法中?两个语句只能有一个定义在第一行,所以只能出现其中一个。super() 或者 this():为什么一定要定义在第一行?因为 super() 或者 this()都是调用构造方法, 构造方法用于初始化, 所以初始化的动作要先完成。继承的细节:什么时候使用继承呢?当类与类之间存在着所属关系时,才具备了继承的前提。a 是 b 中的一种。 a 继承 b。如:狼是犬科中的一种。注意:不要仅仅为了获取其他类中的已有成员进行继承。所以判断所属关系,可以简单看,如果继承后,被继承的类中的功能,都可以被该子类所具备,那么继承成立。如果不是,不可以继承。在方法覆盖时,注意两点:1、子类覆盖父类时, 必须要保证, 子类方法的权限必须大于等于父类方法权限可以实现继承。否则,编译失败。2、覆盖时,要么都静态,要么都不静态。 ( 静态只能覆盖静态,或者被静态覆盖) 继承的一个弊端:打破了封装性。对于一些类,或者类中功能,是需要被继承,或者覆写的。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思七、 final特点:1:这个关键字是一个修饰符,可以修饰类,方法,变量。2:被 final修饰的类是一个最终类,不可以被继承。3:被 final修饰的方法是一个最终方法,不可以被覆盖。4:被 final修饰的变量是一个常量,只能赋值一次。不加 final修饰不是也可以使用吗?那么这个值是一个变量,是可以更改的。加了final,程序更为严谨。常量名称定义时,有规范,所有字母都大写,如果由多个单词组成,中间用_ 连接。八、抽象类 : abstract 抽象:不具体,看不明白。抽象类表象体现。在不断抽取过程中,将共性内容中的方法声明抽取,但是方法不一样,没有抽取,这时抽取到的方法,并不具体,需要被指定关键字abstract所标示,声明为抽象方法。抽象方法所在类一定要标示为抽象类,也就是说该类需要被abstract关键字所修饰。抽象类的特点:1、抽象方法只能定义在抽象类中,抽象类和抽象方法必须由abstract关键字修饰(可以描述类和方法,不可以描述变量) 。2、抽象方法只定义方法声明,并不定义方法实现。/ 也就是没有方法体 。3、抽象类不可以被创建对象( 实例化 )。4、只有通过子类继承抽象类并覆盖了抽象类中的所有 抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。/ 所以必须全部覆盖抽象类中的抽象方法。抽象类的细节:1、抽象类中是否有构造方法?有,用于给子类对象进行初始化。/ 注意:不能用 abstract修饰私有方法 (private),构造方法 (用于实现初始化,如果修饰了就不能进行,因为abstract修饰的方法都没有方法体,不实现方法),静态方法( static) 。2、抽象类中是否可以定义非抽象方法?可以。其实,抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,有些功能不具体。所以抽象类和一般类在定义上,都是需要定义属性和行为的。只不过,比一般类多了一个抽象方法。而且比一般类少了一个创建对象的部分。3、抽象关键字 abstract和哪些不可以共存? final , private , static 4、抽象类中可不可以不定义抽象方法?可以。抽象方法目的仅仅为了不让该类创建对象。- 九、接口1、是用关键字 interface定义的。2、接口中包含的成员,最常见的有全局常量、抽象方法。注意:接口中的成员都有固定的修饰符。成员属性: public static final 成员方法: public abstract interface Inter public static final int x = 3; public abstract void show(); 3、接口中有抽象方法, 说明接口不可以实例化 。接口的子类必须实现了接口中所有的抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。4、类与类之间存在着继承关系,类与接口中间存在的是实现关系。即 继承用 extends ;实现用implements ;5、接口和类不一样的地方是 接口可以被多实现 ,这就是多继承改良后的结果。 java 将多继承机制通过多实现来体现。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思6、一个类在继承另一个类的同时,还可以实现多个接口。 所以接口的出现避免了单继承的局限性。还可以将类进行功能的扩展。7、其实 java 中是有多继承的。接口与接口之间存在着继承关系,接口可以多继承接口 。接口都用于设计上,设计上的特点: (可以理解主板上提供的接口)1:接口是对外提供的规则。2:接口是功能的扩展。3:接口的出现降低了耦合性。抽象类与接口:抽象类: 一般用于描述一个体系单元, 将一组共性内容进行抽取。特点:可以在类中定义抽象内容让子类实现,可以定义非抽象内容让子类直接使用。它里面定义的都是一些体系中的基本内容 。接口: 一般用于定义对象的 扩展功能 ,是在继承之外还需这个对象具备的一些功能。抽象类和接口的共性: 都是不断向上抽取的结果。抽象类和接口的区别:1、抽象类只能被继承,而且只能单继承。接口需要被实现,而且可以多实现。2、抽象类中可以定义非抽象方法,子类可以直接继承使用。接口中都是抽象方法,需要子类去实现。3、抽象类的成员修饰符可以自定义。接口中的成员修饰符是固定的。全都是public的。注:抽象类的抽象方法要覆盖,接口中的方法也要覆盖,否则子类依然是抽象类。- 十、多态(面向对象特征之一) :方法本身就具备多态性,某一种事物有不同的具体的体现。体现: 父类引用或者接口的引用指向了自己的子类对象。/ Animal a = new Cat();父类可以调用子类中覆写过的(父类中有的方法)多态的好处: 提高了程序的扩展性。继承的父类或接口一般是类库中的东西,(如果要修改某个方法的具体实现方式)只有通过子类去覆写要改变的某一个方法,这样在通过将父类的应用指向子类的实例去调用覆写过的方法就可以。多态的弊端: 当父类引用指向子类对象时,虽然提高了扩展性,但是只能访问父类中具备的方法,不可以访问子类中特有的方法。(前期不能使用后期产生的功能,即访问的局限性)多态的前提:1、必须要有关系,比如继承、或者实现。2、通常会有覆盖操作。多态的出现思想上也做着变化:以前是创建对象并指挥对象做事情。有了多态以后,我们可以找到对象的共性类型, 直接操作共性类型做事情即可,这样可以指挥一批对象做事情,即通过操作父类或接口实现。- class A1 void 讲课() System.out.println(企业管理 ); void 钓鱼() System.out.println(钓鱼); 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思class A11 extends A1 void 讲课() System.out.println(JAVA); void 看电影 () System.out.println(看电影 ); class public static void main(String args) A1 x = new A11(); / x. 讲课(); / x. 看电影 (); / 错误.A11 y = (A11)x; y. 看电影 ();/在多态中,自始自终都是子类对象在做着类型的变化。 - 如果想用子类对象的特有方法,如何判断对象是哪个具体的子类类型呢?可以通过一个关键字instanceof ;/判断对象是否实现了指定的接口或继承了指定的类格式: ,判断一个对象是否所属于指定的类型。Student instanceof Person = true;/student继承了 person 类- 十一、包: 定义包用 package 关键字。1、给类文件提供多层名称空间。如果生成的包不在当前目录下,需要最好执行classpath ,将包所在父目录定义到classpath变量中即可。类的全名称是包名 . 类名编译命令: javac d 位置( . 当前路径) java源文件 (就可以自动生成包)包是一种封装形式,用于封装类,想要被包以外的程序访问,该类必须为public ;类中的成员,如果被包以外访问,也必须public ;包与包之间访问可以使用的权限有两种:1、public 2、protected :只能是不同包中的子类可以使用的权限。总结 java 中的四种权限:范围 public protected default private 同一个类中 ok ok ok ok 同一包中 ok ok ok 子类 ok 不同包中 ok -Import - 导入: 类名称变长,写起来很麻烦。为了简化,使用了一个关键字:import ,可以使用名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思这个关键字导入指定包中的类。记住:实际开发时, 到的哪个类就导入哪个类,不建议使用*. import packa.*;/这个仅仅是导入了packa 当前目录下的所有的类。不包含子包。import packa.abc.*;/导入了 packa 包中的子包 abc 下的当前的所有类。如果导入的两个包中存在着相同名称的类。这时如果用到该类,必须在代码中指定包名。十二、常见的软件包 : java.lang : language java的核心包, Object System String Throwable jdk1.2版本后,该包中的类自动被导入。java.awt : 定义的都是用于java 图形界面开发的对象。javax.swing : 提供所有的 windows桌面应用程序包括的控件, 比如: Frame , Dialog, Table, List 等等 , 就是 java 的图形界面库。 : 用于 java 网络编程方面的对象都在该包中。java.io : input output 用于操作设备上数据的对象都在该包中。比如:读取硬盘数据,往硬盘写入数据。java.util : java的工具包,时间对象,集合框架。java.applet: application+let 客户端 java 小程序。 server+let - servlet 服务端 java小程序。jar :java 的压缩包,主要用于存储类文件,或者配置文件等。命令格式: jar cf 包名.jar 包目录解压缩: jar xvf 包名.jar 将 jar 包目录列表重定向到一个文件中:jar tf 包名.jar c:1.txt / 特殊的,当记不住需要import的包名时,我们可以采用import java.io.*和 import java.util.*的形式的小技巧。- 第 4 章一、异常:异常:就是不正常。 程序在运行时出现的不正常情况。其实就是程序中出现的问题。这个问题按照面向对象思想进行描述,并封装成了对象。因为问题的产生有产生的原因、有问题的名称、有问题的描述等多个属性信息存在。当出现多属性信息最方便的方式就是将这些信息进行封装。异常就是 java 按照面向对象的思想将问题进行对象封装。这样就方便于操作问题以及处理问题。出现的问题有很多种,比如角标越界,空指针等都是。就对这些问题进行分类。而且这些问题都有共性内容比如:每一个问题都有名称,同时还有问题描述的信息,问题出现的位置,所以可以不断的向上抽取。形成了异常体系 。-java.lang.Throwable :Throwable :可抛出的。|-Error:错误,一般情况下,不编写针对性的代码进行处理,通常是jvm 发生的,需要对程序进行修正。|-Exception:异常,可以有针对性的处理方式。无论是错误还是异常, 它们都有具体的子类体现每一个问题,它们的子类都有一个共性, 就是都 以名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 36 页 - - - - - - - - - 读书之法 ,在循序而渐进 ,熟读而精思父类名作为子类的后缀名。这个体系中的所有类和对象都具备一个独有的特点;就是可抛性 。可抛性的体现: 就是这个体系中的类和对象都可以被throws 和 throw 两个关键字所操作。- class ExceptionDemo public static void main(String args) / byte buf = new byte1024*1024*700;/java.lang.OutOfMemoryError内存溢出错误 - 在开发时,如果定义功能时,发现该功能会出现一些问题,应该将问题在定义功能时标示出来,这样调用者就可以在使用这个功能的时候,预先给出处理方式。如何标示呢?通过throws 关键字完成, 格式: throws 异常类名 , 异常类名 .这样标示后,调用者,在使用该功能时,就必须要处理,否则编译失败。处理方式有两种: 1、捕捉; 2、抛出。对于捕捉: java 有针对性的语句块进行处理。try 需要被检测的代码; catch( 异常类变量名 ) 异常处理代码; fianlly 一定会执行的代码; - catch (Exception e) /e用于接收 try检测到的异常对象。System.out.println(message:+e.getMessage() );/获取的是异常的信息。System.out.println(toString:+e.toString();/获取的是异常的名字 +异常的信息。e.printStackTrace();/打印异常在堆栈中信息;异常名称+异常信息 +异常的位置。 - 异常处理原则: 功能抛出几个异常,功能调用如果进行try处理,需要与之对应的catch 处理代码块,这样的处理有针对性,抛几个就处理几个。特殊情况: try 对应多个 catch 时,如果有父类的catch 语句块,一定要放在下面。throw 和 throws 关键字的区别:throw 用于抛出异常对象,后面跟的是异常对象;throw 用在方法 内。throws 用于抛出异常类,后面跟的异常类名,可以跟多个,用逗号隔开。throws 用在方法 上。通常情况:方法内容如果有throw ,抛出异常对象,并没有进行处理,那么方法上一定要声明,否则编译失败。但是也有特殊情况。异常分两种:1、编译时被检查的异常,只要是Exception 及其子类都是编译时被检测的异常。2、运行时异常, 其中 Exception 有一个特殊的子类RuntimeException ,以及 RuntimeException的子类是运行异常,也就说这个异常是编译时不被检查的异常。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页

    注意事项

    本文(2022年java各知识点详细总结 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开