java知识点19概要

上传人:今*** 文档编号:106220189 上传时间:2019-10-14 格式:DOC 页数:13 大小:53.50KB
返回 下载 相关 举报
java知识点19概要_第1页
第1页 / 共13页
java知识点19概要_第2页
第2页 / 共13页
java知识点19概要_第3页
第3页 / 共13页
java知识点19概要_第4页
第4页 / 共13页
java知识点19概要_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《java知识点19概要》由会员分享,可在线阅读,更多相关《java知识点19概要(13页珍藏版)》请在金锄头文库上搜索。

1、第四章(java的基础知识)4.1基本概念20161011 星期二 什么是构造函数 1、 构造函数是一种特殊的函数2、 方法名必须与类名相同3、 每个类可以有多个构造函数4、 构造函数可以有0个1个或多个的参数5、 构造函数的主要作用就是完成对象的初始化6、 子类可以同过super的关键字来调用父类的构造函数7、 当父类和子类没有定义构造函数时编译器会默认一个构造函数为什么java 中有些接口没有任何的方法1、 这些没有任何方法的接口叫标识接口2、 实现这些接口类不需要重写任何的方法3、 标识接口对实现它的类没有任何语义上的要求4、 仅仅是一个标识的作用5、 用来表明实现它的类是一个特定的类型

2、Java中clone的方法有什么作用1、 java中所有的类都继承object类2、 object类中提供了一个clone()方法3、 clone()方法的作用是返回一个object对象的复制4、 实现clone()方法首先要继承Cloneable()接口5、 Clone() 复制 深复制、浅复制6、 当开发人员自定义构造函数时会存在深复制、浅复制之分、java重载就会遇到这样的问题什么是反射机制反射机制是java的一个重要的特性,许多程序在运行时进行自我的检查,同时也允许对其内部成员进行操作特点:1、 得到一个对象所属的类;2、 获取一个类所有的成员变量和方法3、 运行创建对象,调用对象的方

3、法反射机制作用:创建类的对象Package(包)的作用1、 包由类和接口组成两个主要作用:1提供多层次命名空间,解决名命名冲突2使用package,可以使处于不同package的类有相同的名字3对类进行功能的划分,使项目组织更明确4.2面向对象技术面向对象与面向过程有什么区别1、 出发点不同:面向对象:用常规思维来处理问题、面向过程是模块处理现实问题2、 层次逻辑关系不同:3、 数据处理方式与控制程序方式不同:4、 分析设计与编码转换方式不同:面向对象三大特征1、 封装: private关键字 属性私有化,提供公有化的方法访问私有的属性2、 多态:父类的对象指向子类的引用,多态需要建立在继承或

4、接口实现类的基础上3、 继承:一个类通过extends关键字实现继承 java只支持单继承。4、 抽象:通过abstract关键字来修饰,1如果以个类里有抽象的方法,这个类一定是抽象类2抽象类里面可以有其他实例化的方法,3抽象类不能被实例化什么是继承1 java不支持多继承,子类只有一个父类但是可以通过实现多个接口来实现多继承2 子类只能继承父类的非私有的成员变量和方法3 当子类的成员变量和父类的成员变量同名时,子类覆盖父类的4 当子类的方法和父类的方法相同时,子类覆盖父类的组合和继承的区别1 组合是在新类里创建原有类的对象2 子类继承父类的公有变量和方法3 组合和继承都可以完成代码的复用4不

5、要轻易的使用继承5采用组合和接口的方法比继承有更好的扩展性多态的实现机制是什么1 方法的重载:重载是指同一个类中有多个同名的方法,但这些方法有着不同的参数 因此编译时要调那个方法,这是编译时的多态2 方法的覆盖:子类覆盖父类的方法,同样的方法在子类和父类中有不同的表现形式 方法的覆盖是运行时的多态重载和覆盖有什么区别1 重载是通过不同的方法参数来区分的,例如不同的参数个数,不同的参数类型,或不同参数顺序2 对于继承来说,如果父类方法为private,就不能在子类对其重载。3 覆盖是一个方法对其重写,达到不同作用,子类覆盖父类4 覆盖是一对一的关系,重载是多个方法的关系5 覆盖关系中,调用方法根

6、据对象的类型来决定,重载根据参数选择方法体抽象类(abstract)和接口(interface)有什么异同相同点:1都不能被实例化 2接口的实现类或抽象类的子类 都只有实现了接口或抽象类中的方法后才能被实例化不同点:1接口只有定义,其方法不能在方法中实现,只有实现接口的类才能实现接口中定 定义的方法 抽象类可以定义和实现 2 接口需要实现,抽象类只能被继承 3 一个类可以实现多个接口,但只能继承一个抽象类 4 接口中成员方法默认为public static final 只能是静态的数据成员方法都是abstract的 抽象类可以有自己的成员变量 也可以有非抽象的成员方法 5 接口维护方便,抽象类

7、是公共角色,不适合日后的修改如何获取父类的类名1 this.get.Class().getName() this 与 super的区别1 this指向当前的实例对象,它的一个重要作用就是区别对象的成员变量和形参2 当一个方法的形参与成员变量相同时,就会覆盖成员变量 this.name 表示成员变量3 super 可以用来访问父类的方法或成员变量 当子类的方法或变量与父类有相同名字时 也会覆盖父类的方法或成员变量,要想访问父类的方法或成员变量只能通过super. 调用2016-10-124.3 关键字变量命名有哪些规则1 变量名,函数名,数据名统称为标识符2 标识符: 由 字母 数字 下划线_

8、$ 组成3 变量名是区分大小写的break continue 以及return有什么区别1 break : 直接跳出当前循环,不再执行剩余的代码 多层循环嵌套时,仅仅终止内层的循环2 continue: 停止当次循环,回到循环的起始处3 return: 是一个跳转的语句,表示从一个方法返回Final finally 和finalize有什么区别Final 声明属性 方法和类 表示属性不可变,方法不可覆盖和类不可被继承final方法:一个方法是final时 不允许任何子类重写这个方法 但子类可以使用这个方法final参数:用来表示这个参数在这个函数内部不允许被修改final类:当一个类被声明为f

9、inal时,此类不能被继承,所有方法都不能被重写 但成员变量可变Finall 作为异常处理的一部分,只能用在try/catch语句中,并且附带一个语句块,表示这个 语句最终一定执行Static关键字有哪些作用static主要作用: 1 为特定的数据类型或对象分配单一的储存空间 2 不创建对象的情况下 直接调用方法和使用类的属性Static静态变量 加载就分配空间 其他变量 创建才分配空间Static成员方法 可直接调用 其他方法 创建后才被使用Static方法中不能使用 this super 关键字,不能调用非static的方法 只能访问所属类的静态成员变量和成员方法4.4 基本类型与运算ja

10、va提供了那些基本的数据类型byte -128127 Byteshort -3276832767 ShortInt -21474836482147483647 Intergerlong Longfloat Floatdouble Doublechar Characterboolean BooleanInt 和integer有什么区别 java语言提供了两种数据类型 引用类型和原始数据类型 Int是java的原始数据类型, Integer是int的封装类Float a=3,4F3.4 是double类型 需要强制转换成float 类型什么是不可变类Java中所有的基本类型都是不可变类例如: in

11、teger float 等 此外 String也是不可变类String s的内容好像能修改,其实没有 只是s又指向了另外一个字符串的常量1 不可变类是指当创建了这个类的实例后就不允许修改它的值了2 类中所有的成员变量被private修饰3 类中没有写或修改成员变量的方法,4 确保类中所有的方法不会被覆盖值传递与引用传递有哪些区别值传递: 方法调用中,实参把值传给形参。引用传递: 方法的调用中,传递的是对象,(也可看作是对象的地址)在java语言中,原始数据类型是值传递,包装类型是引用传递强制类型的转换高-低 short_byte short s=128; byte b=(byte)s;低-高

12、floatdouble float f=(float)3.4;Byte -128-127Short -32 768-32 767Int -214 748 3648-214 748 3647强制类型转换时有哪些注意事项Short s1=1; s1=s1+1; 改为: s1=(short)s1+1;运算符的优先级小括号中括号算数运算符比较运算符逻辑运算符关系运算符+ - * / % = 和 有符号右移操作运算符 无符号右移操作运算符Char 型变量中是否可以储存一个中文数字Java语言中默认使用Unicode编码的方式 Unicode Unicode4.5 字符串与数组字符串的创建与存储机制是什么Java语言中,字符串的声明和初始化主要有如下两种情况字符串的创建:String s1=new String(“abc”)String s2=new String(“abc”)s1 与 s2 相同的字符串的对象”abc” 内存中的地址不同,只要用new 就会产生对象字符串的储存String s1=”abc”String s2=”abc”Jvm 存在一个字符串池,其中保存了很多的string对象 可以共享使用, s1,s2引用的就是同一个常量池的对象“=”、equals和hashCode有什么区别“=”用来比较变量数值是否相等equals用来比较变量的内容是否相等ha

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号