java(六)-----类基础部分

上传人:第*** 文档编号:34039805 上传时间:2018-02-20 格式:DOC 页数:15 大小:86KB
返回 下载 相关 举报
java(六)-----类基础部分_第1页
第1页 / 共15页
java(六)-----类基础部分_第2页
第2页 / 共15页
java(六)-----类基础部分_第3页
第3页 / 共15页
java(六)-----类基础部分_第4页
第4页 / 共15页
java(六)-----类基础部分_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《java(六)-----类基础部分》由会员分享,可在线阅读,更多相关《java(六)-----类基础部分(15页珍藏版)》请在金锄头文库上搜索。

1、- 1 -类基础部分一面向对象基本知识1. 面向对象是 JAVA 语言的重要特征之一;2. 面向对象的三大特征:封装、继承、多态;封装封装在面向对象的技术中是隐敝信息的一种机制,是隐藏对象的属性和实现细节,仅对外公开接口,以控制在程序中的读和修改的访问级别,它的目的增强安全性,简化编程;封装原则:1. 隐藏属性和方法,提供对外接口;2. 隐藏尽量多的东西3. 好处:将变化隔离,便于使用,提高重用性,安全性; 在 java 语言中,对象被抽象成为类, ,因此类是程序封装的最小单位;继承继承描述两个类之间的关系,允许一个新类包含另一个以有类的状态和行为;这样可以用一般的类去特殊化,可派生出一系列的

2、子类,使父类和子类关系层次化,降低复杂度,通过对共性的描述,减少类的重复说明;子类的派生过程就是类的继承,继承是抽象分层管理机制;单继承指任何子类只能由一个父类派生;多继承指一个子类由多个父类产生;单继承是树状结构多继承为网状结构;Java 中只有单继承,没有多继承;接口是一种特殊的继承,相当于多继承;多态多态允许一个类中有多个同名方法,但方法的具体实现却不同的机制;这种在一个程序当中同名的方法可用不同代码实现的特性就称为多态;二类- 2 -1. 类由数据成员和方法成员组成;2. 数据成员是变量,用来保存数据,也称字段;3. 数据成员的类型可以是基本数据类型,复合数据类型,也可以是类;4. 方

3、法成员是实现操作的代码,也称函数,5. java 中数据成员和方法成员,的先后顺序无关紧要;*6. 类成员中可用的修饰符有:public、private、protected;7. public 可以在类外访问(即允许所有的类来访问);8. private 为私有成员,只能在本类的内部访问;9. protected 是保护的成员,只能在类外或子类中访问(仅允许在相同包的类和该类的子类来访问);*10. 实例变量:与类的对象关联,属于类的对象;类的每一个对象,都有属于自己的实例变量, ,对实例变量进行自己管理,不同的对象通过自己的实例变量及赋值来进行区分,对自己的实例变量赋值,不影响其它的实例变量

4、;11. 类变量类变量:与类关联,属于类,由类的所有对象共享;Java 解释器,可以为每个对象复制一套实例变量,但类变量只由一套,只属于类,可以被所有的变量访问,类变量的值改变后,类所有的变量均使用改变后的新值;Static 关键字修饰的成员变量为类变量;12. 实例变量属于类的对象,只有创建对象,才会有实例变量;类变量属于类,即使没有对象,类变量也存在;- 3 -13.实例方法和类方法同实例变量和类变量一样;类变量语法和类方法语法:类名(或对象名).数据成员类名.方法成员三类和对象的使用1. 类的定义存放在.java 源文件中,编译后在.class 文件中2. 使用类,即使用类文件,以及定义

5、和使用类的对象;3. 类的使用方法: 在类的 main 方法中定义和使用类的对象,此时只有一个类文件; 将类独立存放在一个文件中,然后再另一个类中使用它;4. 定义对象:类作为类型使用,定义好类之后,就可定义类的对象变量;类的对象用 new 关键字来创建;赋值语句建立对象变量与类对象的引用;如将一个对象变量赋值给另一个对象变量,意味着两个对象变量引用同一个对象;当一个对象不再使用时,可将对象变量值设为 null;这样只是撤消了引用,删除了对象和变量间的联系,变量和- 4 -对象都还存在;变量超出其使用范围时,变量才彻底消亡;对象的消亡,由 “垃圾收集器 ”自动处理;5. 数据成员的初始化:不管

6、是实例变量还是类变量,都可以在声名时进行初始化;普通的基本数据类型变量,必须进行初始化赋值,否则不能使用;类的数据成员,没进行初始化, “Java 解释器“会自动初始化;6. 八种基本数据类型的默认值:类型 位长/b 默认值 取值范围Boolean 1 false true falseByte 8 0 -128127Char 16 u0000 u0000uffff(065535)Short 16 0 -3276832767 Int 32 0 -231231-1Long 64 0 -263263-1Float 32 0.0 +-1.4E-45 或+-3.4028235e+38 Double 64

7、 0.0 +-4.9e-324 或+- 5 -1.797693134862315e+3087. 初始化块:初始化块指类中独立的一对大括号里面的代码;分静态初始化块和动态初始化块;(静态代码块和构造代码块) ;静态代码块由 Static 修饰的,动态代码块属于实例变量;静态代码块给类进行初始化,随类加载而加载,且只执行一次,优先于主函数;动态初始化块,是一对大括号,对象建立就运行优先于构造方法;构造方法给对象进行初始化;构造代码块能给所有对象的进行初始化8. 构造方法与重载:构造方法在创建对象时调用,为对象的实例变量进行初始化;特点如下:方法名与类名相同;无返回值和返回类型(包括 void) ;

8、- 6 -只能在 NEW 创建对象时调用,不能由对象调用;如没有定义构 方法,则编译器会自动创建一个不作操作的默认构造方法构造代码块,优先于构造方法;当要使用不同个数,不同类型的参数来初始化时,就需要重载构造方法;四 关于方法1. 定义方法:方法由方法名和代码块组成,有参数和修饰符;如要从方法返回值,则要执行返回值的类型,如没有返回值,其返回类型为 VOID其修饰符有 public private protected static修饰符说明方法的访问性和静态成员;2. return方法体执行完成,方法结束;如要从方法返回值,则要用 return 语句;如方法没有返回值,也可以用不带参数的 re

9、turn语句从方法返回;- 7 -方法中可以由多个 return 语句;在运行方法时,遇到 return 语句就返回调用方法的程序;3. 形参和实参:形参是定义方法时指定的参数;作用于方法内部的 局部变量,指明参数的个数和类型,并在方法内部引用实参的值;实参是方法调用时指定的参数;通常为变量常量,表达式;参数传递递时,形参和实参是一一对应的;4. this 变量:5. 数组参数:数组作为参数时,还是用的传值机制,只是传递时,将实参数组变量的值复制给形参,而不是复制数组的值,也就是实参数组变量与形参数组变量引用同一个数组;如在方法中修改形参数组的值,那么实参数组元素的值也会发生改变;本质上为同一

10、个数组,名称不同而已;6. 对象参数;同数组参数一样7. final- 8 -final 关键字用于声名形参为常量,也即是不能在方法中修改形参变量的值;因为参数采用传值机制,final 对基本数据类型不起作用,当用于对象变量参数时,表示不能修改对象的引用;但还是克以通过对象变量来修改对象;8. 递规的方法Factorial(int n)If(n=1)Return 1;elseReturn n*factorial(n-1)9. 方法重载:方法重载就是一个类中,用同一方法名定义多个方法叫重 载;重载通过不同的形参来区别;java 根据方法名,形参类型,形参顺序确定方法在类中的签名;解释器,通过方法

11、签名来确定调用的方法;10. 静态成员:静态成员指用 static 修饰的数据成员和方法成员静态成员由类的所有对象共享,通过类名或对象- 9 -名来引用;静态成员属类变量或类方法;在静态的方法中,只能访问静态成员,不能使用非静态成员;非静态成员属于对象,只有建立对象之后非静态成员才成在,并且只能通过对象名来引用;11. 常量成员常量成员指被 final 修饰的数据成员或方法成员Final 修饰的成员不能在子类中重载或隐藏;Final 数据成员的初始化;可以声名时初始化,可以在初始化块中初始化;(静态初始化块,必须用静态的成员) ,还可以在构造方法中初始化;Final 数据成员一经初始化,不可以

12、修改其值,final 数据成员还可以加 static 修饰符,成为静态常量;Final 成员用于具体的对象时,则在构造方法或态代码块中初始化;静态的 final 数据成员属于类,所以应在声名,或静态初始化块中进行;五包1. 包是 java 中类的组织方法,是保存类的目录结构;保证包中- 10 -的类具有唯一的名称;2. 包的定义:包用 package 定义;Package 语句是除空格和注释外,源文件的第一条语句;类的源文件可以放在任意位置,但编译器生成的类文件,则应放在包名对应的目录中;包名用英文注点符号表示包的层次;3. 包的使用:包的使用用 import 语句;如没有使用 import

13、语句,就应使用包括包名的完整类名;如要使用包中的多个类,可用*号代表包中所有类;当源文件和包都在同一个目录中时,不需要为编译器指定路径;如不在同一目录,则用 classpass 指定路径;如:javac classpath d:javatemp usedog.java当执行的类和使用的包,都不在当前目录中,指定路径如下,执行类的路径放最后;如:javac classpath d:javatemp;d:usedog4. jar 扩展包jar 文档可以是可执行文件,也可以是 java 扩展包;jar 扩展包中包含 java 类文件;- 11 -如果类定义了包,jar 文档应包含包的目录结构;要制作

14、 jar 文档,要使用 jdk 中的 jar 命令;如:jar cvf animal.jar animal*.classcvf 为命令参数,表示按指定的文件名animal.jar创建 jar 文档;animal*.class 表示把 animal 目录中 所有的类文件包含在 animal.jar 中,包括 animal 目录;在创建 jar 文档时,通常在包所在的目录下执行 jar命令,用包的相对路径指定要包含的文件,这样才能在 jar文档中创建相应的目录结构;Jar 文档的名称可与类的包名相同,也可不同;Jar 文档采用 zip 格式压缩,所以可用支持 zip 格式的任何工具来创建 jar

15、文档;六类和类成员的可访问性 可访问性决定类成员是否可在类之外访问,包中的类可在类 之外访问;Public private protected无关键字:可被同一个包中所有类的方法访问;- 12 -Public : 可被任何类中的方法访问;Private: 只能被同一个类中的方法访问,不能在类的外部访问;Protected:可被同一个包中的所有类的方法访问,也可被本类的子类的方法访问;七 常用包Applet 用于嵌入网页的 appletAwt :java 应用程序的图形界面Beans: 编写 jaVA 组件Io:处理系统输入,输出流的;Lang:包含 java 语言的基础类,该包中的类自动导入程序;不用 import 语句;Net: 编写网络应用程序;Nio:用于定义各种数据类型的缓冲区,还包含其它 nio包;Sql:编写关于数据库应用程序;Javax。Swing:用于编写图形应用界面程序;取代 awt;Util:处理集合,事件模型,日期

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

当前位置:首页 > 办公文档 > 解决方案

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