2022年java基础知识点总结.docx
《2022年java基础知识点总结.docx》由会员分享,可在线阅读,更多相关《2022年java基础知识点总结.docx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、java 基础学问点总结Created by AIwen on 2022/5/14 、java 就是面对对象的程序设计语言 ; 类可被认为就是一种自定义的数据类型 , 可以使用类来定义变量 , 全部使用类定义的变量都就是引用变量 , 它们将会引用到类的对象;类用于描述客观世界里某一类对象的共同特点 , 而对象就就是类的详细存在 ,java 程序使用类的构造器来创建该类的对象;java也支持面对对象的三大特点: 封装、继承、与多态;java供应了 private、 protected、与 public三个拜访掌握修饰符来实现良好的封装, 供应了 extends关键字让子类继承父类, 子类继承父类
2、就可以继承到父类的成员变量与与方法, 假如拜访掌握答应, 子类实例可以直接调用父类里定义的方法;继承就是实现类复用的重要手段;使用继承关系来实现复用时 , 子类对象可以直接赋给父类变量, 这个变量具有多态性;面对对象的程序设计过程中有两个重要的概念: 类Class与对象 object,也被称为实例 ,instance;类可以包含三种最常见的成员 : 构造器、成员变量、与方法;构造器用于构造该类的实例 ,java 语言通过 new 关键字类调用构造器 , 从而返回该类的实例; 构造器就是一个类创建对象的根本途径 , 假如一个类没有构造器 , 这个类通常无法创建实例;因此 java 语言供应了一个
3、功能 : 假如程序员没有为一个类编写构造器 , 就系统会为该类供应一个默认的构造器 , 这个构造器总就是没有参数的;一旦程序员为一个类供应了构造器 , 系统将不再为该类供应构造器;构造器用于对类实例进行初始化操作, 构造器支持重载 , 假如多个重载的构造器里包含了相同的初始化代码, 就可以把这些初始化代码放置在一般初始化块里完成, 初始化块总在构造器执行之前被调用;静态初始化块代码用于初始化类, 在类初始化阶段被执行;假如继承树里某一个类需要被初始化时, 系统将会同时初始化该类的全部父类;构造器修饰符 : 可以就是 public、protected、private其中之一 , 或者省略构造器名
4、 : 构造器名必需与类名相同;留意 : 构造器既不能定义返回值类型, 也不能使用 void声明构造器没有返回值;假如为构造器定义了返回值类型, 或使用 void声明构造器没有返回值, 编译时不会出错 , 但 java会把这个所谓的构造器当成方法来处理它就不再就是构造器;实际上类的构造器就是有返回值的, 当使用 new 关键字来调用构造器时, 构造器返回该类的实例, 可以把这个类的实例当成构造器的返回值;因此构造器的返回值类型总就是当前类, 无须定义返回值类型;不要在构造器里显式的使用return来返回当前类的对象 , 由于构造器的返回值就是隐式的;java类名必需就是由一个或多个有意义的单词连
5、缀而成的, 每个单词首字母大写, 其她字母全部小写, 单词与单词之间不要使用任何分隔符;成员变量 :成员变量的修饰符 :public、protected、private、static、final前三个只能显现一个再与后面的修饰符组合起来修饰成员变量 , 也可省略;成员变量 : 由一个或者多个有意义的单词连缀而成, 第一个单词首字母小写, 后面每个单词首字母大写, 其她字母全部小写, 单词与单词之间不要使用任何分隔符;类型 : 可以就是 java语言答应的任何数据类型, 包括基本类型与引用类型;成员方法 :方法修饰符 :public、protected、private、static、final、
6、abstract,前三个只能显现一个 ,static与 final最多只能显现其中的一个 , 与 abstract组合起来使用;也可省略;返回值类型 : 可以就是 java语言的答应的任何数据类型, 包括基本类型与引用类型;方法名 : 与成员变量的方法命名规章相同, 通常建议方法名以英文动词开头;方法体里多条可执行语句之间有严格的执行次序, 排在方法体前面的语句总先执行, 排在方法体后面的语句总就是后执行;static就是一个特别的关键字, 它可用于修饰方法、 成员变量等成员; static修饰的成员说明它属于这个类本身, 而不属于该类的单个实例 , 因此通过把static修饰的成员变量与方法
7、被称为类变量、类方法 静态成员变量 , 静态成员方法 ; 不使用 static修饰的成员变量与方法称为实例变量与实例方法 非静态成员变量 , 非静态成员方法 ;静态成员不能直 接拜访非静态成员;static的真正作用就就是用于区分成员变量、方法、内部类、初始化块, 这四种成员究竟属于类本身仍就是属于实例;有 static修饰的成员属于类本身 , 没有类修饰的成员属于该类的实例;java类大致有如下作用:定义变量创建对象调用类的类方法或拜访类的类变量;定义一个类就就是为了重复创建该类的实例, 同一个类的多个实例具有相同的特点, 而类就就是定义了多个实例的共同特点;类里定义的方法与成员变量都可以通
8、过类或实例来调用;Static修饰的方法与成员变量, 既可通过类来调用 , 也可通过实例来调用 ; 没有使用 static修饰的一般方法成员变量, 只可通过实例来调用;Person p=new Person;这行代码创建了一个Person 实例 , 也被称为 Person 对象 , 这个 Person 对象被赋给 p 变量;在这行代码中实际上产生了两个东西 , 一个就是 p 变量 , 一个就是 Person 对象; P 引用变量本身只储备了一个地址值 ,并未包含任何实际数据 , 但它指向实际的 Person 对象;Person 对象由多块内存组成 , 不同内存块分别储备了 Person 对象的
9、不同成员变量;类就是一种引用数据类型 , 因此程序中定义的 Person 类型的变量实际上就是一个引用 , 它被存放在栈内存里 , 指向实际的 Person 对象; 而真正的 Person 对象就存放在堆内存中;当一个对象被创建胜利以后, 这个对象将储存在堆内存中,java程序不答应直接拜访堆内存中的对象, 只能通过该对象的引用操作该对象;堆内存里的对象可以有多个引用, 即多个引用变量指向同一个对象;假如堆内存里的对象没有任何变量指向该对象, 那么程序将无法再拜访该对象, 这个对象也就变成了垃圾,java垃圾回收机制将回收该对象 , 释放该对象所占的内存区;对象的 this引用Java 供应了
10、一个 this关键字 ,this关键字总就是指向调用该方法的对象;This 作为对象的默认引用有两种情形:构造器中引用该构造器正在初始化的对象; 在方法中引用调用该方法的对象;This 关键字最大的作用就就是让类中一个方法, 拜访该类里的另一个方法或者实例变量;Java 答应对象的一个成员直接调用另一个成员, 可以省略 this前缀;假如在 static修饰的方法中使用this关键字 , 就这个关键字就无法指向合适的对象, 所以 ,static修饰的方法中不能使用 this引用;Java 编程时不要使用对象去调用static修饰的成员变量、方法、而就是应当使用类去调用static修饰的成员变量
11、、方法;假如的确需要在静态方法中拜访另一个一般方法, 就只能重新创建一个对象;大部分的时候 , 一般方法拜访其她方法、成员变量时无须使用this前缀 , 但假如方法里有个局部变量与成员变量同名,但程序又需要在该方法里拜访这个被掩盖的成员变量, 就必需使用 this前缀;This引用也可以用于构造器中作为默认引用, 由于构造器时直接使用new 关键字来调用 , 而不就是使用对象来调用的,所以 this在构造器中代表该构造器正在初始化对象;方法 :Java 里的方法不能独立存在, 全部的方法都必需定义在类里;假如这个方法就是用来static修饰 , 就这个方法属于这个类 , 否就这个方法属于这个类
12、的实例;执行方法时, 必需使用类或者对象作为调用者;同一个类的一个方法调用另外一个方法时 , 假如被调方法就是一般方法, 就默认使用this作为调用者 ; 假如被调用方法就是静态方法, 就默认使用类作为调用者;也就就是说java 中瞧起来某些方法可以被独立执行, 但实际上仍就是使用this或者类来作为调用者;Java 里方法参数传递方式只有一种: 值传递;所谓值传递 , 就就是讲实际参数值的副本 复制品 传入方法内 , 而参数本身不会受到任何影响;从 JDK1、 5 之后,java答应定义形参个数可变的参数, 从而答应为方法指定数量不确定的形参;假如在定义方法时, 在最终一个形参的类型后增加三
13、点 , 就说明该形参可以接受多个参数值, 多个参数值被当成数组传入;public class Varargs / 定义形参可变的方法public static void testint a,String、 books/books被当成数组处理forString tmp:booksSystem、out 、printlntmp;System、out 、 printlna;public static void mainString args/ 调用 test方法test5,hello,world,aa;数组形式的形参可以处于形参列表的任意位置, 但个数可变的形参只能处于形参表的最终;也就就是说最多只
14、能有一个长度可变的形参;形参可变与传入数组的区分:public static void testint a,String、 books; public static void testint a,String books;test5,aa,bb,cc;test5,new Stringaa,bb,cc;方法重载 :Java 答应同一个类里定义多个同名方法, 只要形参列表不同就行;假如同一个类中包含了两个或两个以上方法的方法名相同 , 但形参列表不同 , 就被称为方法的重载;Java 程序确定一个方法需要三个要素: 调用者 ; 方法名 ; 形参列表;方法的重载要求就就是两同一不同: 同一个类中方法
15、名相同, 参数列表不同;至于方法的其她部分, 如方法返回值类型、修饰符等 , 与方法重载没有任何关系;public class OverloadVarargs public void testString msgSystem、out 、 println只有一个参数的 test;/ 由于前面已经有了一个字符串参数的方法 , 就长度可变形参里不包含一个字符串参数的形式public void testString、 booksSystem、out 、println形参可变的 test方法 ;public static void mainString args OverloadVarargs olv=
16、new OverloadVarargs;/ 下面两次调用将执行其次个test方法olv 、test;olv、testaa,bb;/ 将调用第一个 test方法olv 、testaa;/ 将调用其次个 test方法olv 、testnew Stringaa;Java 中变量分为 : 成员变量与局部变量;成员变量被分为类变量与实例变量两种, 定义成员变量时没有static修饰的就就是实例变量 , 有 static修饰的就就是类变量;变量的命名 : 从程序的可读性角度来瞧, 应当就是多个有意义的单词连缀而成, 其中第一个单词首字母小写, 后面每个单词首字母大写;假如通过一个实例修改了类变量的值, 由
17、于这个类变量并不属于它, 而就是属于它对应的类;因此 , 修改的依旧就是类变量 , 与通过该类来修改类变量的结果完全相同, 这会导致该类的其她实例来拜访这个类变量时也将获得这个被修改过的值;成员变量无须显式初始化, 只要为一个类定义了类变量或实例变量, 系统就会在这个类的初始化阶段或创建该类的实例时 , 进行默认初始化;实例变量随实例的存在而存在, 而类变量就随类的存在而存在;实例也可拜访类变量, 同一个类的全部实例拜访类变量时 , 实际上拜访的就是该类本身的同一个变量, 也就就是说 , 拜访了同一片内存区;局部变量依据定义形式的不同, 又可分为三种形式 : 形参 , 方法局部变量 , 代码块
18、局部变量 ; 局部变量除了形参之外,都必需显示初始化;在同一个类里 , 成员变量的作用范畴就是整个类内有效, 一个类里不能定义两个同名的成员变量, 即使一个就是类变量 , 一个就是实例变量也不行; 一个方法里不能定义两个同名的方法局部变量, 方法局部变量与形参也不能同名; 同一个方法中不同代码块内局部变量可以同名; 假如先定义代码块局部变量, 后定义方法局部变量, 前面定义的代码块局部变量与后面定义的方法局部变量也可同名、Java答应局部变量与成员变量同名, 假如方法里的局部变量与成员变量同名, 局部变量会掩盖成员变量, 假如需要在这个方法里引用被掩盖的成员变量, 就可使用 this对于实例变
19、量 或类名 对于类变量 作为调用者来限定拜访成员变量;public class VariableOverrideTest / 定义一个 name实例变量private String name=李刚 ;/ 定义一个 price类变量private static doubleprice =78、0; public static void mainString args/ 方法里局部变量掩盖成员变量 , 将输出 price的局部变量 65int price=65;System、out 、 printlnprice;/ 使用类名作为 price变量的限定 , 将输出 price类变量的值System
20、、out 、 printlnVariableOverrideTest、price ; new VariableOverrideTest、info;public void info/ 方法里的局部变量 , 局部变量掩盖成员变量 , 输出 name局部变量的值 : 孙悟空String name=孙悟空 ; System、out 、 printlnname;/ 将输出 name实例的值 : 李刚System 、out 、 printlnthis、name;当系统加载类或创建该类的实例时, 系统自动为成员变量安排内存空间, 并在安排内存空间后, 自动为成员变量指定初始值;Person p1=new P
21、erson;时, 假如这行代码就是第一次使用Person 类, 就系统通常会在第一次使用Person 类时加载这个类 , 并初始化这个类;局部变量定以后 , 必需经过显式初始化后才能使用, 系统不会为局部变量执行初始化;局部变量不属于任何类或者实例,因此它总就是储存在其所在方法的栈内存中;假如局部变量时基本类型的变量, 就直接把这个变量的值储存在该变量对应的内存中 ; 假如局部变量就是一个引用类型的变量 , 就这个变量里存放的就是地址 , 通过该地址引用到该变量实际引用的对象或者数组;栈内存中的变量无须系统垃圾回收 , 往往随就是方法或代码块的运行终止而终止;假如定义的某个变量就是用于描述某个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 java 基础 知识点 总结
限制150内