Java笔记总结.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 笔记 总结
- 资源描述:
-
1、 Java是一种可以编译 跨平台、面向对象的高级计算机语言。 2、 Java语言的特点:简单、安全、跨平台、面向对象、支持多线程。 3、 Java的三个技术平台分别是 JavaSE、JavaEE、JavaME。 4、 Java程序的运行环境简称为 JDK。 5、 编译Java程序需要使用 javac 命令。 6、 javac.exe和java.exe这两个可执行程序存放在JDK安装目录的bin目录下。 7、 PATH环境变量用来存储Java的编译和运行工具所在的路径;CLASSPATH环境变量 则用来保存Java虚拟机要运行的“.calss”文件。 8、 .class 文件在 java.exe 文件启动的JVM中运行。 9、 JRE与JDK之间的区别: a) JRE(Java Runtime Environment)提供java程序运行所需要的基本条件(如JVM)和许多基础类。 b) JDK(Java Development Kit)是Java程序开发工具包——包含编译工具、解释工具、打包工具等开发工具。 10、 JVM——Java虚拟机,相当于一个虚拟的操作系统,负责运行javac.exe生成的 字节码(二进制) 文件。java.exe执行”.class”,就是java.exe启动JVM运行”.class”文件。 11、 标识符命名规则: a) 包名所有字母一律小写。 b) 类名和接口名每个单词首字母大写。 c) 常量名所有字母都大写,单词之间用下划线分开。 d) 变量名和方法名的第一个单词小写,之后的每个单词首字母大写。 12、 强制类型转换: a) 格式:目标类型 变量名 = (目标类型) 值 b) int类型转换成byte类型 很容易造成 精度丢失。因为int类型变量是32位,byte类型只有8位,所以在转换过程中会丢失int类型的高3位字节。 c) 在用”双字符“型运算符(+=、 -=之类的)运算时,强制类型会自动完成,不用程序显示的声明。 13、 三元运算符:判断条件?表达式1:表达式2;——若条件成立,执行表达式1,否则执行表达式2。 14、 跳转语句: a) break: i. 用于switch语句,终止某case并跳出switch结构。 ii. 用于循环语句,跳出循环语句,执行后面的程序。 b) continue——只用于循环语句中:终止本次循环,执行下一次循环。 15、 方法重载: a) 2个条件:方法名相同、参数个数或参数类型不同。 b) 与返回值类型无关。 16、 数组: a) 定义数组: i. 类型[ ] 数组名 = new 类型[ 数组长度 ] //这种定义方式只指定了长度,元素的初值由系统自动赋0。(动态初始化) ii. 类型[ ] 数组名 = new 类型[ ]{元素,元素,......} iii. 类型[ ] 数组名 = {元素,元素,......} //这2种称为 静态初始化。 17、 冒泡排序: a) 若有n个元素,则进行n-1轮排序(n-1次外循环) b) 第1轮排序,元素之间进行n-1次比较;第2轮排序进行n-2次排序......最后1轮只进行1次比较。 c) 外循环条件:i < arr.length d) 内循环条件:j < arr.length - i - 1 18、 二维数组: a) 定义方式1:类型[ ][ ] 变量名 = new 类型[ 几行 ][ 几列 ]; b) 可理解为数组的 数组——例arr[0][1]-->数组名arr[0],第二个元素[1]; c) 二维数组的 长度 由”[ 几行 ]“确定!! d) 定义方式2:类型[ ][ ] 变量名 = new 类型[ 几行 ][ ]; //行数确定,列数不确定——每行可以随便 赋值。 e) 定义方式3:类型[ ][ ] 变量名 = { { ,...,...,...},{ },{ },...... } //这种行数、列数都不确定。大括号 内的每个 大括号 代表 一行 的元素,每行有多少个元素 取决于 内大括号 中元素的个数。 19、 面向对象的特点:封装性、继承性、多态性。 20、 在创建变量后,JVM运行程序时,会自动初始化变量。引用型变量 为 null。 21、 垃圾对象——没有变量引用的对象。 22、 类的封装:将类中的属性 私有化。外界访问私有属性时 只能通过该属性的 getxxx()方法。 a) //择Generate getter and setter --> 自动生成 set和get方法。 23、 构造方法:实例化对象。 a) 可以用 带参数的构造方法 在实例化对象时就 给私有属性 赋值。 b) 好的程序员 应该为每个类 写一个 无参构造方法。 c) 定义构造方法的条件: i. 方法名与类名相同。 ii. 没有返回值的 声明。 iii. 方法中 不能有return 返回值。 24、 this关键字 a) this指代 该类实例化的 对象。所以可以用 this.xx的方式调用 成员。 b) 在成员方法中使用this关键字,避免参数名与属性名相同。 c) 用this关键字调用 构造方法 i. 只能在构造方法中 用this调用其他构造方法; ii. 此时this语句必须位于第1行,并且只能出现一次 iii. 不能在一个类的两个构造方法中互相调用。 25、 static关键字 a) 静态变量: i. 用static修饰的变量 ii. 静态变量被所有实例共享 iii. 可以使用“类名.变量名”的形式来访问。 iv. 只能修饰 成员变量 b) 静态方法 i. 希望在不创建对象的情况下也能条用 类中的 某个方法,那就用static关键字休息这个方法 ii. 静态方法 只能访问 静态成员! //因为非静态成员 必须先创建对象才能访问,而静态方法在被调用的时候可以 不创建对象——那么就没有非静态成员可供访用。 c) 静态代码块 i. 当类被加载时,静态代码会执行一次。而类只会被加载一次,所以静态代码块只会被执行一次。 ii. 通常会用静态代码块对类的成员变量进行初始化。 d) 单例模式 i. private static 类名 INSTANCE = new 类名(); //私有成员变量——自己创建一个对象。 private 类名(){}; //私有的 构造方法,只能内部访问 public static 类名 getInstance(){ return INSTANCE ; } //定义静态方法,返回自己的实例对象。 ii. 第二种单例模式创建方法。 1. Private 类名(){} //私有的 构造方法,只能在类的内部被调用。 2. public static fianl 类名 INSTANCE = new 类名(); //公有的不能被修改的 静态成员对象。 26、 内部类——定义在类里面的 类 a) 成员内部类 i. 相当于成员方法,可以访问外部类的所有成员; ii. 因为成员内部类相当于 成员方法,所以想要创建内部类对象时,必须得用外部类的对象 去创建内部类对象: 1. 外部类名.内部类名 变量名 = new 外部类名().new 内部类名(); b) 静态内部类 i. 用static修饰的成员内部类,也相当于静态方法。只能访问外部类的静态成员。 ii. 因为静态,所以在创建内部类对象时,可以不用先创建外部类对象: 1. 外部类名.内部类名 变量名 = new 外部类名.内部类名(); iii. 静态内部类中 可以定义静态成员,非静态内部类则不可。 c) 方法内部类 i. 在方法中定义的类,只能在当前方法中被使用。 27、 当一个对象被当成垃圾从内存中释放时,它的 finalize() 方法会被自动调用。 28、 继承 a) 继承关键字:extends。 b) 格式:Class A extends B{} c) 单继承——一个类只能有一个直接父类。 29、 重写父类方法 a) 条件:方法名、参数、返回值类型 3个都相同。 b) 重写之后,子类调用被重写的方法时,就是调用自己写的方法。 c) 重写应用: i. 应用对象 是父类的 公有方法。重载 应用的对象是 类本身的 方法。 ii. 重写父类 不适合子类的 方法 iii. 实现接口。 30、 super关键字 a) 调用父类成员变量和成员方法: i. super.成员变量; ii. super.成员方法(参数1,参数2,...); b) 调用父类的构造方法 i. super(参数1,参数2,...); ii. 必须位于子类的构造方法的第一行,且只能出现一次。 iii. 在实例化子类时,系统会在 子类的构造方法中 调用 父类的构造方法——如果子类的构造方法中 没有调用 父类的构造方法,系统会自动调用父类的无参构造方法。所以 每个类的 无参构造方法 一定不要漏了!子类也可以显示的调用 父类的有参或无参构造法方法。 c) 解决 重写了父类方法之后,不能调用父类方法的问题。 31、 final关键字 a) final修饰的类 不能被继承 b) final修饰的方法 不能被子类重写 c) final修饰的变量 是常量,不能被修改,且必须在定义时 为变量赋值。 32、 抽象类 a) 关键字 abstract b) 抽象方法:abstract void shout(){};——没有方法体。 c) 包含抽象方法的类必须声明为 abstract类:abstract class Animal{} d) 抽象类可以 不包含任何抽象方法,只需用abstract修饰。 e) 抽象方法不能直接实例化,只能让 子类实例化。 33、 接口 a) 定义关键字:interface——interface Animal{} b) 接口中的方法 被默认修饰为:public abstract——抽象方法。 c) 接口中的变量 被默认修饰为 :public static final —— 全局常量 i. 所以变量最好用 全大写 表示。 d) 因为方法都是抽象的,所以必须定义一个类 来实现(implements)接口——Class A implements B{} e) 接口之间可以继承——interface C extends B{} f) 一个类可以实现多个接口,接口直接间用逗号隔开。 g) 一个类可以在继承一个类的同时,实现其它的接口。 h) 如果一个类去实现接口的话,那么这个类必须实现接口中所有的方法。 34、 多态 a) 方法上的多态 i. 类内部方法的重载 ii. 子类对父类方法的重写 b) 对象上的多态性 i. 假设父类:A;子类B B b = new B(); ii. 对象的自动向上转型:A a = b; //子类对象,变成了父类对象。 1. 虽然a指向A的对象,但是如果B重写了A的方法,那a调用的还是B中的方法。 iii. 对象的强制向下转型 1. 若 A a = new A(); 2. B b = (B) a; //父类对象变成了 子类对象。 3. 这时对象b调用的是 子类的重写的方法。 4. 注意:对象发生强制向下转型之前,必须保证已经发生了向上转型,否则会出异常。 35、 异常 a) 异常类分为:编译时异常、运行时异常 b) 异常处理机制: i. try...catch...finally 1. try代码包含可能发生异常的Java语句,catch块中包含针对一场进行处理的代码。 2. 当发生异常时,系统将异常信息封装成一个异常对象传递给catch代码块。所以catch需要定义1个对应的异常类 变量。 3. finally代码块包含,无论发生什么异常都要执行的代码。常用于关闭系统资源。 ii. throws关键字声明抛出异常,调用者对其处理。这种方法能通过编译,但是发生异常后就会终止运行。 c) 自定义异常 i. 首先定义 一个继承Exception异常的 异常类;异常类中 编写一个无参构造方法(调用父类无参构造方法),再编写一个 带String参数的构造方法(也调用父类的带Stirng参数的构造方法)。 ii. 再定义一个 测试类,定义要调用的方法,并在此方法后面用 throws关键字 声明抛出自定义异常;再在 方法体 内判断什么时候 用throw new 自定义异常(“要打印的信息”)。 //声明自定义异常对象。 iii. 最后在 测试类的main 方法中, iv. try{...} catch(...){ System.out.printlan(e.getMessage) } finally{...} 36、 线程的创建: a) 继承Thread类,并重写run()方法。然后new Thread().start;开启线程。 b) 实现Runnable接口,重写run()方法。然后new Thread(new myRunnable).start开启线程。 37、 两种实现多线程的比较——实现Runnable接口的方法更好 a) 可以让多个线程共享资源。——售票系统需要。 b) 避免单继承。 38、 36、展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




Java笔记总结.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2191935.html