




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
类基础部分 一面向对象基本知识1. 面向对象是JAVA语言的重要特征之一;2. 面向对象的三大特征:封装、继承、多态; 封装 封装在面向对象的技术中是隐敝信息的一种机制,是隐藏对象的属性和实现细节,仅对外公开接口,以控制在程序中的读和修改的访问级别,它的目的增强安全性,简化编程; 封装原则:1. 隐藏属性和方法,提供对外接口;2. 隐藏尽量多的东西3. 好处:将变化隔离,便于使用,提高重用性,安全性; 在java语言中,对象被抽象成为类,因此类是程序封装的最小单位; 继承 继承描述两个类之间的关系,允许一个新类包含另一个以有类的状态和行为;这样可以用一般的类去特殊化,可派生出一系列的子类,使父类和子类关系层次化,降低复杂度,通过对共性的描述,减少类的重复说明; 子类的派生过程就是类的继承,继承是抽象分层管理机制; 单继承指任何子类只能由一个父类派生; 多继承指一个子类由多个父类产生; 单继承是树状结构 多继承为网状结构; Java中只有单继承,没有多继承; 接口是一种特殊的继承,相当于多继承;多态 多态允许一个类中有多个同名方法,但方法的具体实现却不同的机制;这种在一个程序当中同名的方法可用不同代码实现的特性就称为多态; 二类1. 类由数据成员和方法成员组成;2. 数据成员是变量,用来保存数据,也称字段;3. 数据成员的类型可以是基本数据类型,复合数据类型,也可以是类;4. 方法成员是实现操作的代码,也称函数,5. java中数据成员和方法成员,的先后顺序无关紧要;*6. 类成员中可用的修饰符有:public、private、protected;7. public可以在类外访问(即允许所有的类来访问);8. private为私有成员,只能在本类的内部访问;9. protected是保护的成员,只能在类外或子类中访问(仅允许在相同包的类和该类的子类来访问);*10. 实例变量:与类的对象关联,属于类的对象; 类的每一个对象,都有属于自己的实例变量,对实例 变量进行自己管理,不同的对象通过自己的实例变量及赋 值来进行区分,对自己的实例变量赋值,不影响其它的实 例变量;11. 类变量 类变量:与类关联,属于类,由类的所有对象共享; Java解释器,可以为每个对象复制一套实例变量, 但类变量只由一套,只属于类,可以被所有的变量访问, 类变量的值改变后,类所有的变量均使用改变后的新值; Static关键字修饰的成员变量为类变量;12. 实例变量属于类的对象,只有创建对象,才会有实例变量;类变量属于类,即使没有对象,类变量也存在;13. 实例方法和类方法同实例变量和类变量一样;类变量语法和类方法语法:类名(或对象名).数据成员类名.方法成员 三类和对象的使用1. 类的定义存放在.java源文件中,编译后在.class文件中2. 使用类,即使用类文件,以及定义和使用类的对象;3. 类的使用方法:l 在类的main方法中定义和使用类的对象,此时只有一个类文件;l 将类独立存放在一个文件中,然后再另一个类中使用它;4. 定义对象: 类作为类型使用,定义好类之后,就可定义类的对象变 量;类的对象用new关键字来创建;赋值语句建立对象变量 与类对象的引用; 如将一个对象变量赋值给另一个对象变量,意味着两 个对象变量引用同一个对象; 当一个对象不再使用时,可将对象变量值设为null;这 样只是撤消了引用,删除了对象和变量间的联系,变量和对 象都还存在; 变量超出其使用范围时,变量才彻底消亡;对象的消 亡,由“垃圾收集器”自动处理;5. 数据成员的初始化: 不管是实例变量还是类变量,都可以在声名时进行初始化;普通的基本数据类型变量,必须进行初始化赋值,否则不能使用; 类的数据成员,没进行初始化,“Java解释器“会自动 初始化;6. 八种基本数据类型的默认值: 类型 位长/b 默认值 取值范围 Boolean 1 false true false Byte 8 0 -128127 Char 16 u0000 u0000uffff(065535) Short 16 0 -3276832767 Int 32 0 -231231-1Long 64 0 -263263-1 Float 32 0.0 +-1.4E-45或+-3.4028235e+38 Double 64 0.0 +-4.9e-324或+-1.797693134862315e+3087. 初始化块: 初始化块指类中独立的一对大括号里面的代码;分 静态初始化块和动态初始化块;(静态代码块和构造代 码块); 静态代码块由Static修饰的,动态代码块属于实例 变量; 静态代码块给类进行初始化,随类加载而加载,且 只执行一次,优先于主函数; 动态初始化块,是一对大括号,对象建立就运行优 先于构造方法;构造方法给对象进行初始化;构造代码块能给所有对象的进行初始化8. 构造方法与重载: 构造方法在创建对象时调用,为对象的实例变 量进行初始化; 特点如下: 方法名与类名相同; 无返回值和返回类型(包括void); 只能在NEW创建对象时调用,不能由 对象调用; 如没有定义构 方法,则编译器会自动 创建一个不作操作的默认构造方法 构造代码块,优先于构造方法; 当要使用不同个数,不同类型的参数来初始化时, 就需要重载构造方法; 四 关于方法1. 定义方法: 方法由方法名和代码块组成,有参数和修饰符; 如要从方法返回值,则要执行返回值的类型,如 没有返回值,其返回类型为VOID 其修饰符有public private protected static 修饰符说明方法的访问性和静态成员;2. return 方法体执行完成,方法结束;如要从方法返回值,则 要用return语句; 如方法没有返回值,也可以用不带参数的return 语句从方法返回; 方法中可以由多个return语句; 在运行方法时,遇到return语句就返回调用方法的 程序;3. 形参和实参: 形参是定义方法时指定的参数;作用于方法内部的 局部变量,指明参数的个数和类型,并在方法 内部引用实参的值; 实参是方法调用时指定的参数;通常为变量常量, 表达式; 参数传递递时,形参和实参是一一对应的;4. this变量:5. 数组参数: 数组作为参数时,还是用的传值机制,只是传递时,将实参数组变量的值复制给形参,而不是复制数组的值,也就是实参数组变量与形参数组变量引用同一个数组;如在方法中修改形参数组的值,那么实参数组元素的值也会发生改变;本质上为同一个数组,名称不同而已;6. 对象参数;同数组参数一样7. final final关键字用于声名形参为常量,也即是不 能在方法中修改形参变量的值;因为参数采用传值机 制,final对基本数据类型不起作用,当用于对象变 量参数时,表示不能修改对象的引用;但还是克以通 过对象变量来修改对象;8. 递规的方法 Factorial(int n) If(n=1) Return 1;else Return n*factorial(n-1) 9. 方法重载: 方法重载就是一个类中,用同一方法名定义多个方法叫重 载;重载通过不同的形参来区别;java根据方法名,形参类型,形参顺序确定方法在类中的签名;解释器,通过方法签名来确定调用的方法;10. 静态成员: 静态成员指用static修饰的数据成员和方法成员 静态成员由类的所有对象共享,通过类名或对象名 来引用;静态成员属类变量或类方法; 在静态的方法中,只能访问静态成员,不能使用非静态成员;非静态成员属于对象,只有建立对象之后非静态成员才成在,并且只能通过对象名来引用;11. 常量成员 常量成员指被final修饰的数据成员或方法成员 Final修饰的成员不能在子类中重载或隐藏; Final数据成员的初始化;可以声名时初始化,可以在初始化块中初始化;(静态初始化块,必须用静态的成员),还可以在构造方法中初始化; Final数据成员一经初始化,不可以修改其值,final数据成员还可以加static修饰符,成为静态常量; Final成员用于具体的对象时,则在构造方法或态代码块中初始化;静态的final数据成员属于类,所以应在声名,或静态初始化块中进行; 五包1. 包是java中类的组织方法,是保存类的目录结构;保证包中的类具有唯一的名称;2. 包的定义: 包用package定义; Package语句是除空格和注释外,源文件的第一条语句; 类的源文件可以放在任意位置,但编译器生成的类文件, 则应放在包名对应的目录中; 包名用英文注点符号表示包的层次;3. 包的使用: 包的使用用import语句; 如没有使用import语句,就应使用包括包名的完整类名; 如要使用包中的多个类,可用*号代表包中所有类; 当源文件和包都在同一个目录中时,不需要为编译器指定 路径;如不在同一目录,则用classpass指定路径;如:javac classpath d:javatemp usedog.java 当执行的类和使用的包,都不在当前目录中,指定路径如下,执行类的路径放最后; 如:javac classpath d:javatemp;d:usedog4. jar扩展包 jar文档可以是可执行文件,也可以是java扩展包; jar扩展包中包含java类文件; 如果类定义了包,jar文档应包含包的目录结构; 要制作jar文档,要使用jdk中的jar命令; 如: jar cvf animal.jar animal*.class cvf为命令参数,表示按指定的文件名animal.jar 创建jar文档;animal*.class表示把animal目录中 所 有的类文件包含在animal.jar中,包括animal目录; 在创建jar文档时,通常在包所在的目录下执行jar命 令,用包的相对路径指定要包含的文件,这样才能在jar 文档中创建相应的目录结构; Jar文档的名称可与类的包名相同,也可不同; Jar文档采用zip格式压缩,所以可用支持zip格式的 任何工具来创建jar文档; 六类和类成员的可访问性 可访问性决定类成员是否可在类之外访问,包中的类可在类 之外访问; Public private protected 无关键字:可被同一个包中所有类的方法访问; Public : 可被任何类中的方法访问; Private: 只能被同一个类中的方法访问,不能在类的外部访问; Protected:可被同一个包中的所有类的方法访问,也可被本类的子类的方法访问; 七 常用包 Applet 用于嵌入网页的appletAwt :java应用程序的图形界面Beans: 编写jaVA组件Io:处理系统输入,输出流的;Lang:包含java语言的基础类,该包中的类自动导入程序; 不用import语句;Net: 编写网络应用程序;Nio:用于定义各种数据类型的缓冲区,还包含其它nio包;Sql:编写关于数据库应用程序;Javax。Swing:用于编写图形应用界面程序;取代awt;Util:处理集合,事件模型,日期事件;Xml:处理xml; 八 嵌套类1. 类中包含类,被包含的类称嵌套类: 包含的类叫外部类;2. 嵌套类和类成员一样,都是外部类成员;3. 类成员的可访问性都适用于类部类;4. static修饰的嵌套类称静态嵌套类,否则为非静态嵌套类 两者使用方法由所不同;5. 静态嵌套类,与静态的数据成员和方法类似,都可创建对象,静态嵌套类与外部对象无关,没有外部类的对象,一样可以创建静态嵌套类的对象;6. 静态嵌套类中允许有静态和非静态的成员;静态嵌套类中可以访问外部类的静态成员,不能访问外部类的非静态成员;7. 动态的嵌套类 与动态的数据成员和方法类似,动态嵌套类属外部类 的对象,只能通过外部类的对象才能创建动态嵌套类的对 象;如:java1 a=new java1(); Test x=a。new test();在外部类中,只有静态的嵌套类才能用new直接创建对象;8. 在外部类之外使用嵌套类;首先嵌套类和外部使用成员不能声名为private;如果外部类包含静态嵌套类和外部嵌套类,则外部类之 外直接访问静态嵌套类的静态成员时,应使用外部类的 名称限定嵌套类; 创建静态嵌套类对象也应使用外部类的名称限定符; 创建静态嵌套类对象后,便可使用该对象的方法访问静态嵌套类静态成员和动态成员; 与动态的数据成员和方法类似,动态嵌套类属外部类 的对象,只能通过外部类的对象才能创建动态嵌套类的对 象; 创建动态嵌套类的对象后,就可用该对象访问其动态成员和动态方法; 九几个关键字总结Final: 1.final可以修饰类,全局变量,函数; final修饰类,不可以被继承; final修饰的函数不可以被重写final修饰的变量不可以被再次赋值; 在final修饰时,必须赋值; 常量的命名,字母全部大写,由多个单词组成,则中间用下划线分割;Static :1. static是一个修饰符;用于修饰成员(包括成员变量和方法);2. static修饰的成员变量只由一份,3. 当成员被STATIC修饰后,访问方式多一种,除对象调用外,和还能类名直接调用;4. static的特点: 随类的加载而加载; 优先于对象的存在; 被锁有对象,共享; 可以类名直接调用;5. 存放位置:类变量随着类的加载,而存在于date 类存区 实例变量,随着对象的建立。而存在于堆内存;6. 静态的方法只能访问静态成员7. 非静态的方法既能访问静态成员,也能访问非静态成员;8. 静态的方法中不可定义this ,super等关键字;因静态优先于对象的存在,所以不能用 This等关键字;9. 类变量生命周期最长,随着类的消忘而消忘;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水电工聘用合同水电工聘用书
- 离婚谈判记住这11个技巧!二零二五年
- 住宅设计服务合同样本
- 安全生产目标考核和奖惩办法
- 班级主题班会教案
- 买卖企业房产合同样本
- 999合同标准文本
- 主题班会教案之高中主题班会:珍爱生命-健康成长
- 入职保证合同样本
- 会议筹办合同样本
- 2020年个人信用报告新版含水印
- 兰州市初级中学设备配置标准(试行)
- 吴晗《谈骨气》原文与内容分析
- GB/T 7702.15-2008煤质颗粒活性炭试验方法灰分的测定
- GB/T 25344-2010中华人民共和国铁路线路名称代码
- 部编版八年级语文下专题六古诗文默写与诗歌鉴赏课件
- 十二对脑神经的出入颅部位、分布、损伤表现汇总表
- 更换锅炉水冷壁管施工方案 勿删
- 石化公司成品油销售中心考核方案
- 机动车检测站车辆起火及应急疏散演练记录
- DB13(J)∕T 105-2017 预应力混凝土管桩基础技术规程
评论
0/150
提交评论