版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精品文档java 知识点总结应同学要求,特意写了一个知识点总结, 因比较匆忙,可能归纳不是很准确,重点是面向对象的部分。java 有三个版本: JAVA SE 标准版 JAVA ME 移动版 JAVA EE 企业版java 常用命令: java, javac, appletviewjava 程序文件名:.java, .classjava 的两类程序:applet, application;特点,区别,这两类程序如何运行java 的主方法,主类,共有类;其特征java的数据类型,注意与C+勺不同,如字符型,引用型,初值java与C+的不同之处,期中已总结java 标记符的命名规则1)标识符有大小
2、写字母、下划线、数字和$符号组成。2)开头可以是大小写字母,下划线,和$符号(不能用数字开头)3)标识符长度没有限制4)标识符不能使关键字和保留字面向对象的四大特征抽象、封装、继承、多态封装,类、对象,类与对象的关系,创建对象,对象实例变量构造函数,默认构造函数,派生类的构造函数,构造函数的作用,初始化的顺序,构造方法的重载构造函数: 创建对象的同时将调用这个对象的构造函数完成对象的初始化工作。 把若干个赋初值语句组合成一个方法在创建对象时一次性同时执行, 这个方法就是构造函数。 是与类同名的方法, 创建对象的语句用 new 算符开辟了新建对象的内存空间之后, 将调用构造函数初始化这个新建对象
3、。构造函数是类的特殊方法:构造函数的方法名与类名相同。构造函数没有返回类型。构造函数的主要作用是完成对类对象的初始化工作。构造函数一般不能由编程人员显式地直接调用。在创建一个类的新对象的同时,系统会自动调用该类的构造函数为新对象初始化。类的修饰符: public 类 VS 默认 ; abstract类 ; final 类 ;1)类的访问控制符只有一个: public ,即公共的。公共类表明它可以被所有其他类访问和引用。若一个类没有访问控制符, 说明它有默认访问控制特性, 规定该类智能被同一个包中的类访问引用(包访问控制) 。2) abstract 类:用 abstract 修饰符修饰的类被称为
4、抽象类,抽象类是没有具体对象的概念类, 抽象类是它所有子类的公共属性集合, 用抽象类可以充分利用这些公共属性来提高开发和维护效率。3) final类: 被 final 修饰符修饰限定的, 说明这个类不能再有子类。 所以 abstract 与 final不能同时修饰一个类。域和方法的定义1) 域: 定义一个类时, 需要定义一组称之为 “域” 或“属性” 的变量, 保存类或对象的数据。可以是 java 任意的数据类型,其中包括简单类型、类、接口、数组等。一个类中域名应该是唯一的。2)方法是类的动态属性,标志了类所具有的功能和操作。方法由方法头和方法体组成:修饰符1修饰符2返回值类型方法名(形式参数
5、列表)throw(异常列表)方法体个语句;static 域和方法,特点,本质,与普通域和方法区别,初始化问题1)静态域:用 static 修饰符修饰的域是仅属于类的静态域。特点是:它们是类的域,不属于任何一个类的具体对象。 保存在类的内部区域的公共存储单元, 任何一个类的对象访问它都是相同的数值,任何一个类的对象去修改它,都是在对同一个内存单元操作。2)静态方法:用static 修饰的方法,是属于整个类的方法; ( 1 )调用静态方法时,应该使用类名做前缀,而不是使用某个具体对象名。非静态方法属于某个对象的方法, 在这个对象创建时, 对象的方法在内存中拥有自己专用代码段; 而静态方法属于整个类
6、, 它在内存中的代码段将随着类的定义而分配和装载, 不被任 何一个对象专有。由于static方法是属于整个类的方法,所以它不能操纵和处理属于某个对象的成员变量,而只能处理属于整个类的成员变量, static 方法只能处理static 域。final 关键字, final 类, final 域, final 方法1) final 类:一个类如果被 final 修饰符修饰限定,说明这个类不再能有子类2) final 域: final 是用来修饰修饰常量的修饰符,一个类的域如果被声明为 final, 那么它的值在程序的整个执行过程中都不能改变。 用 final 修饰符说明常量是注意: 1. 需要说明
7、常量的数据类型; 2. 需要同时指出敞亮的具体取值; 3. 因为所有类对象的常量成员, 其数值固定一致,为了节省空间,常量通常声明为 static.3) final 方法:不能被当前类的子类重新定义的方法。被private 限定为私有方法,以及final 类中的方法,都是默认为最终方法。访问控制符是一组想定类、 属性、 方法是否可以被程序中的其他部分访问和调用的修饰符, 其他部分指 这个程序中这个类之外的类。1)类的访问控制:类的访问控制符只有一个Public ,公共的。一个类被声明为公共类,表明它可以被所有的其他类访问和引用, 程序其他部分可以创建这个类的对象, 访问这个类内部可见的成员变量
8、和调用它的可见方法。如果类没有访问控制符public 说明它是默认访问控制,规定该类只能被同一个包中的类访问和引用,不可被其他包中的类使用(包访问) 。2)类成员的访问控制:Public :公共。一个方法或者域被声明为公共的,表明它可以被所有的类访问。默认访问控制符:类的定义中,域和方法没有指定访问控制符,则域和方法具有包访问性,即可以被同一个包中的所有类(的方法)访问。Protected :保护访问控制符,类中限定为 protected 的成员可以被这个类本身、它的子类(包括同一个包和不同包中的子类)以及同一个包中的其他类来访问。Private :私有访问控制符,被 private 修饰的域
9、和方法只能被同一个类中的成员方法所访问,而不能被任何其他类(包括该类的子类)访问。它们也被称之为私有域和方法。类的继承, 继承的特性可给面向对象编程带来哪些好处?什么是单继承, 什么是多重继承?继承: 是存在于面向对象程序中的两个类之间的一种关系, 当一个类获取另一个类的所有非私有的数据和操作的定义作为自己的一部分或全部成分时,就称两个类之间是继承关系。继承能够使程序结构清晰, 降低编码和维护工作量。 可以提高程序抽象程度, 使之更接近人的思维方式,同时也可以提高程序开发效率,降低维护工作量。单继承:只任何一个类都只有一个单一的父类;多重继承: 只一个类可以有一个以上的父类, 它的静态的数据属
10、性和操作从所有这些父类中继承。 Java 处于安全性可靠性考虑,仅支持单继承。域的继承与隐藏在子类中重新定义一个与从父类哪里继承来的域变量完全相同的变量, 导致子类中有两个同名变量, 一般情况, 子类的方法所操作的是子类自己定义的变量, 而从父类继承的变量为不可见,即被子类同名变量隐藏,成为域的隐藏。方法的继承与覆盖,与方法重载有什么不同?子类可以重新定义与父类同名的方法,实现对父类方法的覆盖( overload ) ,与域的隐藏不同在于: 子类隐藏父类的域只是使之不可见, 父类同名域在子类对象中仍然占有自己的独立内存空间; 子类方法对父类同名方法的覆盖将清除父类方法占用的内存, 从而使父类方
11、法在子类对象中不复存在。 注意: 子类重新定义父类已有方法时, 应保持与父类完全相同的方法头声明,即应与父类具有完全相同的方法名,返回值和参数列表。重载( override )是在一个类中定义同名方法的情况。由于重载发生在同一个类里,不能再用类名来区分不同的方法, 所以一般采用不同形式参数列表, 包括形式参数个数、 类型和顺序不同来区分重载方法。super thissuper 调用父类构造函数:严格来说子类并不继承父类构造函数。但子类构造函数与父类构造函数存在一定关系并遵循以下原则:如果子类自己没有定义任何构造函数,那么创建子类对象时将调用父类无参数构造函数。如果子类自己定义了构造函数, 则在
12、创建子类对象时, 系统将首先隐含执行父类无参数的构造函数,然后再执行子类自己的构造函数。如果在子类自己定义的构造函数中, 利用 super 关键字显式地调用父类的构造函数, 系统将不再隐含调用父类的无参数的构造函数。 super 的显式调用语句必须是子类构造函数的第一个可执行语句。(P126有例子)this : 一个类的不同构造函数之间可以互相调用。 一个构造函数需要另一个构造函数时, 应使用关键字this , 同时这个调用语句应该是整个构造函数的第一个可执行语句。 当使用 this并给他一个参数列表时,this显式调用参数匹配的另一个构造方法。(P125例子)。多态:重载,覆盖,对象引用多态
13、(兼容性原则)多态,指一个程序中同名的不同方法共存的情况。突出 Java 语言的继承性。面向对象程序中多态可以表现在: 1)子类对父类方法的覆盖; 2 )一个类中方法的重载; 3 )将子类对象作为父类的对象实现多态。父类与子类对象的转换子类继承了父类所有的非私有的成员(属性和方法) ,父类成员也就是子类成员。我们可以通过父类变量让一个子类对象做父类对象可做的全部事情( P115) .如果父类变量指向的实际是一个子类对象, 即早先曾将子类对象的引用赋值给这个父类变量,那么可以用强制类型转换将这个父类变量引用转换为子类对象的引用, 也就是将作为父类对象看待的子类对象转变为作子类对象看待。Emplo
14、yee emp = new Manager( )Manager mgr;mgr = (Manager)emp;最后结果相当于:Manager mgr = new Manager()包 , package import, 简单知道作用和使用接口,会定义,有何特点?作用,会实现,会使用接口是用来实现类间多重继承功能的结构。 Java 中接口在语法上有些相似与类,它定义了若干个抽象方法和常量, 形成一个属性集合, 属性集合通常对应了某一组功能, 主要是可以帮助实现类似于类的多重继承功能。声明接口:public interface 接口名 extends 父接口名列表 / 接口体/ 常量域声明publ
15、ic static final域类型 域名 = 常量值;/ 抽象方法声明public abstractnative返回值 方法名(参数列表) throw 异常列表 ;实现接口:在类的声明部分,用 implements 关键字声明该类将要实现那些接口。如果实现某接口的类不是abstract 的抽象类,则在类的定义部分必须实现指定接口的所有抽象方法,即为所有方法定义方法体,方法头部分应该与接口中的定义完全一致。如果实现接口类是abstract 类,它可以不实现该接口的所有的方法。一个类在实现某接口的抽象方法时,必须使用完全相同的方法头。接口的抽象方法的访问限制符都已指定为 public ,所以类实
16、现方法时候,必须显式地使用pubic 修饰符。4-1 什么是抽象?什么是过程抽象?什么是数据抽象?面向对象软件开发如何实现?抽象: 即去除掉被研究对象中与主旨无关的次要部分, 或暂时不考虑的部分, 而仅抽取与研究工作有关的性质的内容加以考察。过程抽象:将整个系统的功能划分为若干部分,强调功能完成的过程及步骤。根据功能性质和作用等因数据被保护在抽象数据类才能够与这个抽象数据类数据抽象: 把系统中需要处理的数据和数据上的操作结合在一起,素抽象成为不同的抽象数据类型。面向对象软件开发采用数据抽象的方法构建程序的类,对象及方法。4-2 什么是封装?面向对象程序如何实现封装 ?封装是指利用抽象数据类型将
17、数据和基于数据的操作封装在一起,型内部, 系统的其他部分只有通过包裹在数据外面的被授权操作, 型交流和交互。抽象数据类型用 “类” 这个面向对象工具可理解和操纵的结构来代表的, 每个类封装了相关数据和操作。4-3 使用抽象和封装有哪些好处 抽象可以帮助人们明确工作重点,理清问题的脉络。封装特性使抽象数据类型的可重用性大为提高, 利于构建, 开发大型标准化的应用软件系统,大幅提高生产效率,缩短开发周期和降低各种费用。4-4Java 程序中使用的类分为哪两种?什么事系统定义的类?什么事用户自定义类?1)系统定义的类及用户自定义类2) Java 类库是一组由开发人员或软件供应商编写的 Java程序模
18、块, 每一个模块通常对应一种特定的基本功能和任务可以直接利用这些类库无需从头 编写。 3)用户自己根据需要定义的类。4-6 使用已经存在的类 (包括类库中系统类和用户类) 有哪三种主要方法?如何在程序中引入已经存在的类?第一、继承系统类或继承已经定义好的类。第二、创建已经定义好的类的对象。第三、直接使用类。 2)利用 import 语句引入它所用的类所在的包。4-15 什么事静态初始化器?它有什么特点?与构造函数有什么不同?静态初始化器:由static引导的一对大括号括起的语句组,作用与类的构造函数相似,都完成初始化工作。与构造函数的不同:构造函数是对每个新创建的对象初始化,而静态初始化器是对
19、类自身进行初始化。构造函数是在用new运算符产生新对象时由系统自动执行,而静态初始化器是在它所属的类加载入内存时由系统调用执行。不同于构造函数,静态初始化器不是方法,没有方法名、返回值、和参数列表。4-16 最终域和易失域各有有何特点?如何定义?( 1 )最终域:一个类的域如果被声明为 final ,那么它的值在程序的整个执行过程中是不能变的。 final 修饰常量时注意: 1 )说明常量的数据类型2)需要同时指出常量的具体值。3)所有类对象的常量成员,其数值固定一致,为了节省空间,常量通常声明为 static.例: static final String phoneNum =” 123” 。
20、( 2 )易失域:一个域被volatile 修饰符修饰,说明这个域可能同时被几个线程控制修改,即这个域不仅被当前程序掌握, 运行过程中可能存在其他未知程序, 操作来影响和改变域的取值。4-17 如何定义方法?在面向对象程序设计中方法由什么作用?方法名后面的小括号()是方法的标志。程序用方法名调用方法。定义方法的目的: 是定义具有相对独立和常用功能的模块, 使程序结构清晰也利于模块在不同场合重复利用。4-18 什么事抽象方法?它有何特点?如何定义、如何使用?由 abstract 修饰符修饰的抽象方法是一种仅有方法头, 没有具体方法体和操作实现的方法。例如: abstract void perfo
21、rmDial( );注意: 所有抽象方法,都必须存在抽象类中, 一个非抽象类中出现抽象方法时非法的。 一个抽象类的子类若不是抽象类, 它必须为父类中所有的抽象方法写方法体, 不过抽象类不一定只能拥有抽象方法,它也可以包括非抽象方法。4-22 修饰符是否可以混用?混合使用应该注意什么问题?修饰符可以混合使用。例如: public abstract final 三者之间并非互斥。 Public abstractclass Abstract 不能与 final 并列修饰一个类。Abstract 不能与 private 、 static 、 final 、 native 修饰同一个方法。Abstrac
22、t 类不能有 private 域和方法。Abstract 方法必须在 abstract 类中。Abstract 方法不能处理非static 属性。5-2 子类的域和方法数目一定大于等于父类的域和方法数目,说法是否正确?不正确,子类并不能继承父类的私有域和私有方法。5-7 构造函数是否可以被重载?试举例。可以被重载。构造函数的重载指同一个类中存在若干个具有不同参数列表的构造函数例: D200_Card() / / 无形式参数,无任何操作的构造函数D200_Card ( long cn ) cardNumber = cn; / 一个参数的构造函数D200_Card( long cn,int pw; ) cardNumber = cn; password = pw; /两个参数的构造函数简答题 new11 什么是静态变量?什么是静态方法?各自有何特点?被 static 修饰的变量叫静态变量, 被
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年音响设备销售(需求分析)试题及答案
- 2025年高职人工智能技术(人工智能应用)试题及答案
- 2025年大学大二(可再生能源工程)工程技术综合测试题及答案
- 2025年中职(零售管理实训综合)运营提升实操技能测试试题及答案
- 2025年中职营养与食品卫生学(营养与食品卫生学基础)试题及答案
- 2026年铟矿(显示屏光伏)项目评估报告
- 2025年大学环境设计(室内装饰工程)试题及答案
- 2025年大学大一(生物工程)细胞工程基础阶段测试试题及答案
- 2025年中职(园林植物栽培养护)植物养护阶段测试题及答案
- 2025年高职会计(会计法规实训)试题及答案
- 2023年个税工资表
- 劳动者个人职业健康监护档案
- 2023新青年新机遇新职业发展趋势白皮书-人民数据研究院
- 《两角和与差的正弦、余弦、正切公式》示范公开课教学PPT课件【高中数学人教版】
- 管理学原理教材-大学适用
- 变电站一次侧设备温度在线监测系统设计
- GB/T 6579-2007实验室玻璃仪器热冲击和热冲击强度试验方法
- GB/T 26389-2011衡器产品型号编制方法
- GB/T 16913.3-1997粉尘物性试验方法第3部分:堆积密度的测定自然堆积法
- GB/T 12621-2008管法兰用垫片应力松弛试验方法
- 重庆大学介绍课件
评论
0/150
提交评论