Java笔记总结.docx

上传人:牧羊曲112 文档编号:3159767 上传时间:2023-03-11 格式:DOCX 页数:10 大小:41.46KB
返回 下载 相关 举报
Java笔记总结.docx_第1页
第1页 / 共10页
Java笔记总结.docx_第2页
第2页 / 共10页
Java笔记总结.docx_第3页
第3页 / 共10页
Java笔记总结.docx_第4页
第4页 / 共10页
Java笔记总结.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Java笔记总结.docx》由会员分享,可在线阅读,更多相关《Java笔记总结.docx(10页珍藏版)》请在三一办公上搜索。

1、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.ex

2、e 文件启动的JVM中运行。 9、JRE与JDK之间的区别: a) JRE提供java程序运行所需要的基本条件和许多基础类。 b) JDK是Java程序开发工具包包含编译工具、解释工具、打包工具等开发工具。 10、JVMJava虚拟机,相当于一个虚拟的操作系统,负责运行javac.exe生成的 字节码 文件。java.exe执行”.class”,就是java.exe启动JVM运行”.class”文件。11、标识符命名规则: a) 包名所有字母一律小写。 b) 类名和接口名每个单词首字母大写。 c) 常量名所有字母都大写,单词之间用下划线分开。 d) 变量名和方法名的第一个单词小写,之后的每个单

3、词首字母大写。 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只用于循环语句

4、中:终止本次循环,执行下一次循环。 15、方法重载: a) 2个条件:方法名相同、参数个数或参数类型不同。 b) 与返回值类型无关。 16、数组: a) 定义数组: i. 类型 数组名 = new 类型 数组长度 /这种定义方式只指定了长度,元素的初值由系统自动赋0。 ii. 类型 数组名 = new 类型 元素,元素,. iii. 类型 数组名 = 元素,元素,. /这2种称为 静态初始化。 17、冒泡排序: a) 若有n个元素,则进行n-1轮排序 b) 第1轮排序,元素之间进行n-1次比较;第2轮排序进行n-2次排序.最后1轮只进行1次比较。 c) 外循环条件:i arr.length d

5、) 内循环条件:j 数组名arr0,第二个元素1; c) 二维数组的 长度 由” 几行 “确定! d) 定义方式2:类型 变量名 = new 类型 几行 ; /行数确定,列数不确定每行可以随便 赋值。 e) 定义方式3:类型 变量名 = ,.,.,., , ,. /这种行数、列数都不确定。大括号 内的每个 大括号 代表 一行 的元素,每行有多少个元素 取决于 内大括号 中元素的个数。 19、面向对象的特点:封装性、继承性、多态性。 20、在创建变量后,JVM运行程序时,会自动初始化变量。引用型变量 为 null。 21、垃圾对象没有变量引用的对象。 22、类的封装:将类中的属性 私有化。外界访

6、问私有属性时 只能通过该属性的 getxxx方法。 a) /择Generate getter and setter - 自动生成 set和get方法。 23、构造方法:实例化对象。 a) 可以用 带参数的构造方法 在实例化对象时就 给私有属性 赋值。 b) 好的程序员 应该为每个类 写一个 无参构造方法。 c) 定义构造方法的条件: i. 方法名与类名相同。 ii. 没有返回值的 声明。 iii. 方法中 不能有return 返回值。 24、this关键字 a) this指代 该类实例化的 对象。所以可以用 this.xx的方式调用 成员。 b) 在成员方法中使用this关键字,避免参数名与属

7、性名相同。 c) 用this关键字调用 构造方法 i. 只能在构造方法中 用this调用其他构造方法; ii. 此时this语句必须位于第1行,并且只能出现一次 iii. 不能在一个类的两个构造方法中互相调用。 25、static关键字 a) 静态变量: i. 用static修饰的变量 ii. 静态变量被所有实例共享 iii. 可以使用“类名.变量名”的形式来访问。 iv. 只能修饰 成员变量 b) 静态方法 i. 希望在不创建对象的情况下也能条用 类中的 某个方法,那就用static关键字休息这个方法 ii. 静态方法 只能访问 静态成员! /因为非静态成员 必须先创建对象才能访问,而静态方

8、法在被调用的时候可以 不创建对象那么就没有非静态成员可供访用。 c) 静态代码块 i. 当类被加载时,静态代码会执行一次。而类只会被加载一次,所以静态代码块只会被执行一次。 ii. 通常会用静态代码块对类的成员变量进行初始化。 d) 单例模式 i. private static 类名 INSTANCE = new 类名; 量自己创建一个对象。 private 类名; /私有的 构造方法,只能内部访问 /私有成员变public static 类名 getInstance return INSTANCE ; /定义静态方法,返回自己的实例对象。 ii. 第二种单例模式创建方法。 1. Privat

9、e 类名 调用。 2. public static fianl 类名 INSTANCE = new 类名; 的不能被修改的 静态成员对象。 26、内部类定义在类里面的 类 a) 成员内部类 i. 相当于成员方法,可以访问外部类的所有成员; ii. 因为成员内部类相当于 成员方法,所以想要创建内部类对象时,必须得用外部类的对象 去创建内部类对象: 1. 外部类名.内部类名 变量名 = new 外部类名.new 内部类名; b) 静态内部类 i. 用static修饰的成员内部类,也相当于静态方法。只能访问外部类的静态成员。 ii. 因为静态,所以在创建内部类对象时,可以不用先创建外部类对象: 1.

10、 外部类名.内部类名 变量名 = new 外部类名.内部类名; iii. 静态内部类中 可以定义静态成员,非静态内部类则不可。 c) 方法内部类 i. 在方法中定义的类,只能在当前方法中被使用。 27、当一个对象被当成垃圾从内存中释放时,它的 finalize 方法会被自动调用。/公有/私有的 构造方法,只能在类的内部被28、继承 a) 继承关键字:extends。 b) 格式:Class A extends B c) 单继承一个类只能有一个直接父类。 29、重写父类方法 a) 条件:方法名、参数、返回值类型 3个都相同。 b) 重写之后,子类调用被重写的方法时,就是调用自己写的方法。 c)

11、重写应用: i. 应用对象 是父类的 公有方法。重载 应用的对象是 类本身的 方法。 ii. 重写父类 不适合子类的 方法 iii. 实现接口。 30、super关键字 a) 调用父类成员变量和成员方法: i. super.成员变量; ii. super.成员方法; b) 调用父类的构造方法 i. super; ii. 必须位于子类的构造方法的第一行,且只能出现一次。 iii. 在实例化子类时,系统会在 子类的构造方法中 调用 父类的构造方法如果子类的构造方法中 没有调用 父类的构造方法,系统会自动调用父类的无参构造方法。所以 每个类的 无参构造方法 一定不要漏了!子类也可以显示的调用 父类的

12、有参或无参构造法方法。 c) 解决 重写了父类方法之后,不能调用父类方法的问题。 31、final关键字 a) final修饰的类 不能被继承 b) final修饰的方法 不能被子类重写 c) final修饰的变量 是常量,不能被修改,且必须在定义时 为变量赋值。 32、抽象类 a) 关键字 abstract b) 抽象方法:abstract void shout;没有方法体。 c) 包含抽象方法的类必须声明为 abstract类:abstract class Animal d) 抽象类可以 不包含任何抽象方法,只需用abstract修饰。 e) 抽象方法不能直接实例化,只能让 子类实例化。

13、33、接口 a) 定义关键字:interfaceinterface Animal b) 接口中的方法 被默认修饰为:public abstract抽象方法。 c) 接口中的变量 被默认修饰为 :public static final 全局常量 i. 所以变量最好用 全大写 表示。 d) 因为方法都是抽象的,所以必须定义一个类 来实现接口Class A implements B e) 接口之间可以继承interface C extends B f) 一个类可以实现多个接口,接口直接间用逗号隔开。 g) 一个类可以在继承一个类的同时,实现其它的接口。 h) 如果一个类去实现接口的话,那么这个类必须

14、实现接口中所有的方法。 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. 注意:对象发生强制向下转型之前,必须保证已经发生了向上转型,否则会出异常。 3

15、5、异常 a) 异常类分为:编译时异常、运行时异常 b) 异常处理机制: i. try.catch.finally 1. try代码包含可能发生异常的Java语句,catch块中包含针对一场进行处理的代码。 2. 当发生异常时,系统将异常信息封装成一个异常对象传递给catch代码块。所以catch需要定义1个对应的异常类 变量。 3. finally代码块包含,无论发生什么异常都要执行的代码。常用于关闭系统资源。 ii. throws关键字声明抛出异常,调用者对其处理。这种方法能通过编译,但是发生异常后就会终止运行。 c) 自定义异常 i. 首先定义 一个继承Exception异常的 异常类;

16、异常类中 编写一个无参构造方法,再编写一个 带String参数的构造方法。 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.start开启线程。 37、两种实现多线程的比较实现Runnable接口的方法更好 a) 可以让多个线程共享资源。售票系统需要。 b) 避免单继承。 38、 36、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号