java面向对象程序设计基础知识总结

上传人:ni****g 文档编号:562084672 上传时间:2023-01-21 格式:DOCX 页数:15 大小:30.65KB
返回 下载 相关 举报
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、含有main()方法的类称为主类,一个.java文件中可以有多个类,但只能有一个主类。2、转义字符:对于和,需在前面加上,即用char a =,b=表示。n表示回车换行;t表示水平制表;b表示退格;v表示水平制表;r表示回车;a表示警铃3、标识符:Java程序中自定义的类名、方法名、参数都是标识符,Java语言中规定标识符由字母(区分大小写)数字、下划线、$自由 组合而成,但不能以数字开头,标识符长度不限。4、基本数据类型:分4大类(byte :1字节/int:4字节/short : 2字节/long : 8字节)浮点数(float: 4字节/double : 8字节)字符型(char:2

2、字节)布尔型(boolean:1字节)5、整形变量注意:16进制数以Ox开头,8进制数以0开头。6、浮点型变量注意:如果数字未加任何字母,则默认为double类型,赋值时须注意数据类型匹配问题。7、数组的定义:char array1;和 char array2;都可以。8、 双目运算符:+ - * /对于整形和浮点数有效(float x = 1f/3f;的运行结果是x=0.33333334 ),但只对整形运算。9、逻辑运算符:逻辑运算是对布尔型变量进行运算,结果也是布尔 型。人表示异或运算(aAb表示a和b真假不同时,值为真)&和| 是短路的(对于a&b,如果a为假,则不再计算b的值),&和|

3、是非短 路的,a和b的值都要计算。10、位运算符:&位与、|位或、位反、人位异或、左移、右移、无符号右移(忽略了符号位扩展,0补最高位)。11、位运算注意:JAVA进行移位运算中因为int是占32位,进行移位 的数是32的模,long占8字节也就是64位,所以移位的数是64的模, byte、short进行右移位运算,会自动转换成int类型。12、左移运算:value num :符号位不变,左边补上符号位;运 算规则:a.按二进制形式把所有的数字向右移动对应的位数,低位移出 (舍弃),高位的空位补符号位,即正数补零,负数补1;b.当右移的运算 数是byte和short类型时,将自动把这些类型扩大

4、为int型。15、java中提供了14、三目运算符(条件表达式):x?y:z;表示x为真时,表达式的值 是y的值,否则取Z的值。int x=1,y=2,z=3; int i = x0?y:z;则i的取 值就是3.种转移语句:breaks continue, return, throwbreak:在Java中,break语句有3种作用。第一,尔已经看到,在switch 语句中,它被用来终止一个语句序列。第二,它能被用来退出一个循环。 第三,它能作为一种“先进”的goto语句来使用(break label;标签 label是标识代码块的标签。当这种形式的break执行时,控制被传递 出指定的代码块

5、。被加标签的代码块必须包围break语句,但是它不 需要是直接的包围break的块。这意味着你可以使用一加标签的 break语句退出一系列的嵌套块。但是你不能使用break语句将控制 传递到不包含break语句的代码块)16、continue:类似break /不带标签的continue是终止当前循环结 构,转而直接进入下一轮循环。而continue label;则是把程序直接转 到label所指向的那一个循环结构的下一轮循环,而不管被它嵌套的及 continue语句所在的循环结构运行到了哪一轮。17、方法的调用及参数的传递:一个是传值(要求实际参数必须是简 单类型的变量),一个是传递地址(数

6、组)。18、类与对象:类是对对象的抽象而对象是对类的具体化或实例化。19、类头说明:类名第一个字母大写并体现该类的功能或特征。类的 修饰符分两种:一是访问控制符,如public ;一是类型说明符,类型说 明符只有两个:abstract和fin al。20、类的访问控制符:一个是public,可以被所有的类访问和引用, 其他包用import语句引入后可调用;一个是默认的,也就是没有控制 符,也称为友好的friendly,包中的类能用 而不能被其他包中的类访 问或使用(import引入也不行)注意:import语句引入的类必须是 public修饰的类,Java规定一个.java文件可以有多个类,但

7、必须有一 个而且最多有一个public类,因而文件中的其他类只能是友好访问控 制符。21、属性和方法的访问控制符:public、private (私有访问控制符, 只能被该类自身所访问或调用)protect (保护访问控制符,它可被同 个包中的其他类、不同包中的该类的子类及自身调用)private protect(只能被该类自身及该类的子类访问和引用)默认访问控制符 (具有包内访问性,只能被同一个包中的其他类访问或引用,不在同一 个包中的类不能访问它,即使用import语句引入也不行)22、static :只能修饰属性和方法,修饰的属性和方法不用实例化,可以用类直接调用。23、多个修饰符放在一

8、起使用:abstract不能与final共同修改一 个类;abstract不能与private,static,final和native共同修饰一个方 法;abstract类中不能有私有属性和方法。24、另一种创建对象的方法:假设一个类名为Text,它有一个方法名为print(),则可以直接用下面的语句创建对象并其方法:newTextg:prin2不过这个对象是无名,所以不能被再次调用。25、构造函数:构造函数名字必须与类名完全相同,没有返回值也不用void指明,还可以通过重载实现不同的初始化方法。26、Java允许类的嵌套:因此类的默认访问控制符有两个:一个是 友好类default,一个是类中

9、类,一个友好类编译后能后生一个独立 的.class 文件,如 Input.class,而类中类却产生 Judge$Imput.class , 所以只能被包含它的类使用。27、命令行参数:main()方法是通过String args这个字符串数组 来接收命令行参数的。28、继承:一个子类只能继承一个父类,这样继承关系就形成了一棵 树。继承能够使子类拥有父类非私有的属性和方法。子类通过super来调用父类的属性和方法。29、多态:指一棵继承树的类中可以有多个同名但不同方法体以及不同形参的方法。分两种情况覆盖和重载。覆盖是在子类中直接定 义和父类同样的属性和方法,而重载是指在同一个类定义中有多个同名

10、 的方法,但有不同的形参。覆盖:子类与父类的关系,是在子类中直接定义和父类同样的属性和方法,但重新编写了方法体点卩子类与父类的形参与返回值都 相同,但内部处理不同。通过调用它的对象来决定调用哪个方法。重载:同一个类内部多个方法间的关系,是指在同一个类定义中有多个同名的方法,旦不同的形参,而且每个方法有不同的方法体, 调用时根据形参的个数和类型来决定调用的是哪个方法。通过形参表来决定调用哪个方法。30、在Java技术中,另一个必须要求有重载存在的原因是构造函数。31、继承了父类的属性表示子类被创建时另夕卜开辟了新的空间来存储从父类继承而来的属性,其初值应该是父类中属性的初值,但之后双方 的相同属

11、性彼此相互独立。32、final修饰的方法不能被子类覆盖,但可以被重载。abstract修 饰的方法必须被子类覆盖。33、this的使用:this关键字(只能在方法内部使用)可以为调用了自 己的方法的那个对象生成相应的地址,可以像对待其他任何对象地址一 样对待。public class Leaf private int i=0;Leaf i ncreme nt()i +;return this; /将当前对象的地址作为返回值返回void pri nt()System.out.pr intln( i= + i);public static void main( Str in g args)Lea

12、f x = new Leaf();x.i ncreme nt().i ncreme nt().i ncreme nt().pri nt(); /多次调用方法/increment(),返回的都是对象x的地址,i值表示调用次数34、super的作用:它并不是父类对象的地址,它专门用来指代父类, 也就是说super的含义是被修饰的属性和方法将使用父类的定义而非 子类本身的定义,因此子类的对象想使用它父类中的同名属性和方法 时,就可以使用super。35、构造函数:如果定义了多个构造函数,创建对象时必须使用其中之,因为系统不再定义默认的空构造函数了。构造函数的简化(调用):用构造函数间的调用可以实现定

13、义的简化,就 是先调用定义好的构造函数完成部分属性的初始化,再加上其他属性的 赋值。public class Leaf private Stri ng In ame; private int ln um;Leaf(i nt n um)lnum = n um;Leaf(i nt $n um,Stri ng $n ame)this($ num); 调用上一个构造函数,等同于lnum = $num; ln ame = $n ame;public static void main( Str in g args)Leaf x = new Leaf(20,good);System.o ut. pr in

14、tl n( l num二+xn um + ln ame= +xn ame);Leaf y = new Leaf(22);System.out.pri ntln( l num二+y.l num);调用其他构造函数时,必须加上this代替函数名,但这时的this不代表地址,只用来表示构造函数的名称,也就是类名;注意要在实际参数名前加上$作为开参名,这样既区别于实际参数名,又能反映形参的含义。构造函的继承:A、子类只能继承父类的默认构造函数,即无形参构造函数,并且在创建对象时先调用这个构造函数对对象进行初始化, 再调用子类自己定义的构造函数。B、如果父类没有默认构造函数,子类将不能从父类继承到任何构造函数,并且子类也不能定义自己的无参数构造函数。C、如果子类想调用父类的非默认构造函数,必须使用super来实现。 例如调用父类的构造函数并加入自己的定义:NormalStude nt($stuFlag,$sName,$sSex,$reduceFlag) super($stuFlag,$sName,$sSex);此处调用的是父类的构造函数对形参$stuFlag,$sName,$sSex初始化。reduceFlag = $reduceFlag;D、

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

当前位置:首页 > 学术论文 > 其它学术论文

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