java面向对象程序设计基础知识总结8.docx
《java面向对象程序设计基础知识总结8.docx》由会员分享,可在线阅读,更多相关《java面向对象程序设计基础知识总结8.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1s含有main()方法的类称为主类,一个java文件中可以有多个类,但 只能有一个主类。2、转义字符:对于和,需在前面加上 ,即用char a二V ,b=表示。n表示回车换行;t表示水平制表;b表示退格; v表示水平制表;r表示回车;a表示警铃3、标识符:Java程序中自定义的类名、方法名、参数都是标识符, Java语言中规定标识符由字母(区分大小写1数字、下划线、$自由 组合而成,但不能以数字开头,标识符长度不限。4、基本数据类型:分4大类整数(byte :1字节/int :4字节/short : 2字节/long : 8字节浮点数(float : 4字节/double : 8字节)、字符
2、 型(char:2字节)、布尔型(boolean:l字节X5、整形变量留意:16进制数以Ox开头,8进制数以0开头。6、浮点型变量留意:假如数字未加任何字母,则默认为double类 型,赋值时须留意数据类型匹配问题。7、数组的定义:char arrayl口;和 char array2都可以。8、双目运算符:+ - * /对于整形和浮点数有效(float x = lf/3f; 的运行结果是x=0.33333334 ),但只对整形运算。9、逻辑运算符:逻辑运算是对布尔型变量进行运算,结果也是布尔 型。人表示异或运算(ab表示a和b真假不同时,值为真 &和| 是短路的(对于a&b,假如a为假,则不再
3、计算b的值),&和|是非短 路的,a和b的值都要计算。10、位运算符:&位与、|位或、位反、八位异或、左移、右 造成成员丢失。而强制类型转换则是因为父类对象本身就与子类对象的地址相对应(从 子类转换而来),当然可以把这个对象转换成子类的对象,而不造成成员 的丢失。public class ObjectConvert public static void main(String args)SuperClass superA = new Superclass。,superB;Subbie subA = new Subbie()zsubB;用子类对象作为实际参数传递给应是父类对象的形参(new Ob
4、jectConvert().useSubAsSuper(subA);superB = sub A; 把子类对象赐予父类对象System.out.println(superB.getX()+superB.getX();假如输出中仍用方法getY()将出错。/System.out.println(superB.getyQ);/subB = superA; 把父类对象赐予子类对象将出错把指向子类对象地址的父类对象superB强制转换成子类对象,并赐予subBsubB 二(Subbie)superB;System.out.println(subB.getX() + “ ”+subB.getY();子类
5、对象还相当于是原来的子类对象 subA)public void useSubAsSuper(SuperClass x)System.out.println(x.getX() + !);class SuperClass private int x = 100; public int getX() return x;)class Subbie extends SuperClass private int y = 200;public int getY()return y;)39、抽象类抽象类的属性和方法是它的子类的公共属性和方法的集合。A、用abstract修饰的方法是抽象方法,全部的抽象方法都必
6、需在抽象类中,抽象方法只有方法头而无方法体。定义格式如下:abstract返值类型方法名(形参);B、抽象类可以包含抽象方法和一般方法,继承它的非抽象子类必需实 现其全部的抽象方法(留意是覆盖而不是重载),对于抽象类中的一般 方法的继承和一般的继承一样只要该方法是非private的就可以继承。C、抽象类的实例:抽象类不能有实例,但有一种状况例外,就是定义 一个抽象类的对象名(引用旨向它的非抽象子类的对象。这也就是38(B) 中介绍的状况,这时的抽象类实例只含有父类全部的方法,而没有子类 新增加的方法。可以这样理解:一个对象名或方法名相当于一个指针, 父类的对象指向了子类的实例对象,因此父类对象
7、的方法找到了指针的 目标,就是子类对象中的同名方法,而对于子类对象中私有的方法C(), 父类对象中没有指针指向C(),也即父类对象根本不知道有方法C()的存 在,所以父类对象不能调用子类对象方法C()oD、抽象类可以有抽象方法也可以没有抽象方法;但是假如一个类有抽象方法,那这个类只能定义为抽象类。E、假如是抽象类实现一个接口,那么抽象类中可以不具体实现接口的方法(保持其抽象性),而由其子类去实现。40、接口 :接口在语法上和类很相像,它的属性都是常量(用final修饰体,接口间也可以形成 继承关系。定义:public interface 接口名extends 父接口名 1 ,父接口名2 , .
8、 public static final属性数据类型属性名1 =值;必需给出属性值public abstract native返回值类型方法名(形参表)throw例外名列表;说明:1、puiblic表示它可以被不同包中的类或接口运用,没有用 public表示它是友好的(default),具有包内访问性。Interface的修 饰符只能为public或默认(default X2、子接口将继承全部父接口的全部属性和方法3、接口的属性必需是public static final (静态常量)修饰的, 这是被系统默认的,所以可以不写,但一般写出final (所以接口的属 性必需给出属性值)4、接口的方
9、法系统默认为public abstract的,一般不写修饰 符5、一个接口可以没有任何接口体,但大括号不能省略,这种接口一般是接口继承结构中一个最顶层的父接口接口与抽象类的区分:接口中不能有非抽象的方法,但抽象类中可以有一个类能实现多个接口,但只能有一个父类接口与继承无关,所以无关的类可以实现同一个接口。接口的实现:必需在类的定义时用关键字implements来声明一个类声明实现某个接口后必需实现该接口的全部方法(包括该接 口的全部父类的方法),被实现的方法和接口定义的方法有完全一 样的方法名、返回值和形参表。被实现的方法的访问限制符必需显式地运用public修饰,因为接 口的方法都是publ
10、ic的。41、适配器:当我们只须要运用某个接口中的少部分方法时,可以继承 与之相对应的抽象类(抽象类不用实现全部的方法? ? X java类库为 全部的接口都供应了与之相对应的抽象类,我们称之为适配器。? ? ? 42、例处Java允许我们声明抛出一个并没有发生的例外,可将其作 为一个占位符来理解。As java供应了一个名为Throwable的类,全部的例外都必需是它或它子类的实例。Throwable有两个子类:Error和Exception 其中Error 代表编译期和系统错误,我们一般不用特意捕获它们。Exception是可 以从任何标准Java库的类方法中聘请的基本例外类,它们亦可以从
11、我 们自己的方法或者在运行期偶发事务中抛出。java定义的例外类都是Exception 的子类。-B. catch的括号内定义的对象名必需是try块中可能抛出的例外类的同 一个类或父类、甚至祖先类。因此说用catch(Exception e)能捕获全部 例外就不惊异了。C、异样的继承结构:基类为Throwable , Error和Exception继承 Throwable , RuntimeException 和 lOException 等继承 Exception , 具体的 RuntimeException 继承 RuntimeExceptionoD、Error和RuntimeExcepti
12、on及其子类成为未检查异样 ? (unchecked ),其它异样成为已检查异样(checked )E、例外在继承关系中的特殊性:子类方法只能抛出被父类方法所能抛 出的例外所属的例外类或它的衍生类,假如父类方法未定义成抛出例 外,那么子类覆盖方法也不能抛出例外,假如父类方法声明抛出例外, 子类方法可以不声明抛出例外。但是,父类的构造函数假如声明抛出例 外,则子类的构造函数也必需声明抛出,子类也可以抛出根本不存在的 例外。43、 RuntimeException 介绍1)、NullPointerException (值为空):见的最多了,其实很简洁,一 般都是在null对象上调用方法了。Stri
13、ng s=null;boolean eq=s.equals(); / NullPointerException 这里你看的特殊明白了,为什么一到程序中就晕呢? public int getNumber(String str)if(str.equals(A) return 1;else if(str.equals(B) return 2;这个方法就有可能抛出NullPointerException,我建议你主动抛出 异样,因为代码一多,你可能又晕了。public int getNumber(String str)if(str= = null)throw new NullPointerExcept
14、ion(参数不能为空);你是否觉得明白多了if(str.equals(A) return 1;else if(str.equals(B) return 2;)2)、 NumberFormatException :IllegalArgumentException ,字符串转换为数字时出现。比如int i= Integer.parselnt(ab3);3)、ArraylndexOutOfBoundsException:数组越界。比如 int a = new int3; int b=a3;4)、StringlndexOutOfBoundsException :字符串越界。比如 String s=he
15、llo; char c=s.chatAt(6);5)、 ClassCastException:类型转换错误。比如 Object obj = new Object(); String s=(String)obj;6)、UnsupportedOperationException:该操作不被支持。假如我们希 望不支持这个方法,可以抛出这个异样。既然不支持还要这个干吗?有 可能子类中不想支持父类中有的方法,可以干脆抛出这个异样。7)、ArithmeticException :算术错误,典型的就是0作为除数的时候。8)s IllegalArgumentException :非法参数,在把字符串转换成数字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 程序设计 基础知识 总结
限制150内