java考试复习重点资料.doc

上传人:w****2 文档编号:6539917 上传时间:2020-02-28 格式:DOC 页数:59 大小:207KB
返回 下载 相关 举报
java考试复习重点资料.doc_第1页
第1页 / 共59页
java考试复习重点资料.doc_第2页
第2页 / 共59页
java考试复习重点资料.doc_第3页
第3页 / 共59页
点击查看更多>>
资源描述
JAVA考试重点复习第一章Java概述1. Java如何实现跨平台? 通过Java虚拟机JVM来实现跨平台,先将Java源程序编译成字节码(后缀为.class的代码),字节码可以在Java虚拟机上运行,不同的平台有不同的Java虚拟机JVM,相同的字节码可以不同的平台上运行。2. Java开发的三个平台是什么?J2SE、J2EE和J2ME3. 如何编译与运行java程序? 在Dos命令提示符状态下通过命令行来实现的。例如:Outputtest.javaccjavactest.classjava如果用命令行运行test的话,后面不可以写“.class”,若写成test.class系统会把class当成类名test当成类包,所以在没有类包的情况下不要写成“.class”形式。第二章Java基础1. 什么是标识符?如何定义标识符? 标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。Java语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。 对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如getAge。(2)类名首字母大写。(3)常量名全部字母大写。2. 关键字的定义? 关键字是由Java语言定义的、具有特殊含义的字符序列。其首字母不能大写。如:this,super,extends,if,class,instanceof3.Java中数据类型的结构?float与double定义时的区别: float型的数要在后面要加f,如34.5f4. 常量与变量的声明方式? 常量: final修饰符类型标识符 常量名=(直接)常量 如: final public double PAI=3.14; 变量: 修饰符 类型标识符 变量名=常量; 如: public float x=25.4f; 常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时的值。5. Java的运算符和表达式? 单目运算符: +、-、- 双目运算符: +、-、*、/、%逻辑运算符:&、|、!、&、|区别:逻辑与:& 逻辑或:| 短路与:&(只要一个为F,一定为F) 短路或:|(只要一个为T,则一定为T)6. 关于注释的正确写法?“/”单行注释“/*/”多行注释第三、四、五章1.Java的三种基本控制结构? 顺序,选择和循环 if,switch,while,for,continue与break区别2. 数组的定义?举例定义一个基本数据类型的数组和一个引用数据类型的数组。 数组是一组同类型的数据的集合,除了基本数据类型还包括引用数据类型,那么引用数据类型数组是如何声明、初始化和使用的。例:基本数据类型数组的声明,初始化 intc=new int 5; (5表示数组的单元长度是5) c0=-5; 或 intc=1,2,3; c2=3; 引用数据类型数组的声明初始化例:Strings=new String3; (3表示有3个单元) S0=new String(“ab”); 或Strings1=“1”, “2”, “3”; 或 Strings1= new String(“1”); Strings2= new String(“2”);Strings3= new String(“3”);3. 如何声明数组,初始化数组以及使用数组?4. 如何获得数组单元的长度? int len=s.length5. 熟练掌握一维数组的声明、初始化和操作6. 字符串的声明与初始化? 常量字符串 String 字符串直接量字符串 字符串常量可变字符串 StringBuffer字符串 String s=“hello” hello会保存在字符串值里 字符串直接量 String s1=new string(“hello”); 在堆上开辟了一个新的对象空间来存放hello 对象变量 String s2=“hello”; 先看字符串池里面有没有hello,若有则直接将s2指向那个位置 String s3=new string(“hello”); 只要有new出现就一定会开辟一个新的空间。7. 字符串直接量与字符串常量的区别:存储位置不一样,字符串直接量放在字符串值里,字符串常量放在堆上。8. 常量字符串类与可变字符串类分别是什么?9. 常量字符串的基本操作方法有哪些? 5+5+“Hello”=? “ 10Hello” “Hello”+5+5=? “Hello55”“=”与“equals”的区别:比较对象是否相等的方法是“=”和“equals”,在采用“equals”进行比较时不会出现问题,“=”比较引用变量的值,“equals”(对象:内存里整块存储的东西,对象变量 String s1 s1即为对象变量)比较的是对象里的内容,故比较时应该比较对象里面所包含的内容而不是对象变量。第六、七、八章1. 什么是类?类的成员组成?接口是否为类的成员? 类就是将我们自然界中的事物的属性特点和行为特点抽象封装到类当中,反映这类事物的特点和功能。类的成员包括域变量和成员方法,对于域变量和成员方法都可以用static来修饰,static修饰的域变量称为类变量,static修饰的方法称为类方法,没有被static修饰的域变量和成员方法称为实例变量(可以在程序中直接调用)和实例方法。接口不是类的成员,是一种特殊的类,不用class,而用interface。2. 关于类的正确表述?必须依照类的写法,如何定义3. 什么是静态域变量和实例域变量,静态方法和实例方法?静态域变量称为类变量,静态方法也称为类方法,因为它们可以通过“类名.”来调用。4. 什么是对象?如何创建对象?什么是对象变量?如何对对象进行初始化?对象是类的一个实例。new在创建对象的作用:(1)通过new在堆上开辟一个对象空间,将类当中的域变量跟成员方法复制到对象空间当中;(2)通过new来调用构造方法来初始化对象;(3)将对象空间的首地址赋值给对象变量。对象变量就是指对象的首地址,通过构造方法对对象进行初始化。5. 什么是构造方法?构造方法的特点与作用?构造方法:(1)在一个类中方法名与类名相同的方法;(2)构造方法不是通过对象来调用,而是通过new运算符来调用;(3)构造方法是一种特殊的成员方法,它没有返回值。构造方法特点:可以被重载,当没有在类中定义构造方法时,系统会默认提供一个不带参数的构造方法。作用:初始化对象。6. super和this关键字的用法? this用在当前类,当前类的一个默认的对象,可以通过this来调用当前类的属性和成员方法,也可以直接调用当前类的构造方法的重载方法。super用于一个类的子类中,作为父类在子类中的一个默认的对象,通过它来调用父类的成员属性和成员方法,也可以在子类的构造方法里直接调用父类的构造方法。7. final修饰类、变量和方法时各有什么特点?修饰类:这个类不能够被继承。修饰变量:这个变量值不能改变,成为一个常量。修饰方法:这个方法不能被覆盖。8. 面向对象编程中,java类的三个主要特征是?三个主要特征:封装性、继承性和多态性封装性:通过类的访问修饰符来实现封装性的public,protected,缺省,private的访问权限继承性:extends一个类继承了另一个类,那么父类的所有成员属性和成员方法都可以被继承到子类当中,子类也可以创建新的成员属性和成员方法(现有的类创建新的类的特性) super多态性:静态多态性,如:重载函数。动态多态性,如:覆盖函数。重载(overload):一个类中可以定义多个名称相同,但参数变量不同的方法,重载方法与返回类型无关,重载方法常常用于构造方法,用于实现不同功能的初始化工作,重载也称为静态多态性,这是由于该方法被调用时采用静态地址充定位方式。覆盖(override):在子类中对父类的某方法进行了重新定义,但方法的签名特征与父亲完全一致,访问修饰符的访问的限制宽于或至少等于父类的访问权限;主要用于实现同一个方法在不同的类中实现不同的表现形式,覆盖也称为动态多态性,这是由于该方法只有在运行时才能确定所调用的地址(也是多态性)。9. 什么是抽象类?什么是抽象方法?抽象类的特点? 在类中至少有一个方法是抽象方法,那么这个类就称为抽象类,用abstract来修饰抽象类。抽象方法即没有定义这个方法的主体,给出这个方法的签名特征。特点:抽象类的对象变量是通过它的非抽象的子类来初始化的。如:Animal T=new Tiger() 里的方法都是抽象方法,修饰符为public,没有写默认为public 抽象类 非抽象类10. 什么是接口?接口的特点?接口的作用?接口是使用interface关键字来代替class的特殊的类。接口的三种形式:(1)仅有常量接口;(2)常量和抽象方法接口(3)仅有抽象方法接口。作用:(1)可以实现常量接口在多个类当中共享常量;(2)实现共享一组标准操作来实现多个类之间的共享约定;(3)实现多态性。11. 接口与抽象类的区别? 接口中所有的方法都是抽象方法,不管这个方法是否使用public,abstract修饰,它都是默认的公有的抽象方法,抽象类至少有一个抽象方法,而且还有一个成员方法,接口中不能定义构造方法,抽象类可以定义构造方法。12. 什么是包?包的作用?包是java语言提供的组织类和接口的工具,将一组相关的类为接口,组织到一个包中。作用:(1)通过包可以来确定类的唯一标识;(2)通过包可以将相似功能的类和接口组织在一个包中。第九章1. 什么是异常?为什么要处理异常? 异常是指程序运行过程中出现的非正常现象。由于异常情况总是难免的,良好的应用程序除了具备用户所要求的基本功能外,还应该具备预见并处理可发生的各种异常的功能。2. 异常的基本处理方式?常用的异常类有哪些?两种处理方式:(1)一旦捕获异常马上进行处理。try,catch,finally (2)捕获异常并不处理,而是利用方法将异常抛出,throw,throws3. Error和Exception类的区别? Error是用来处理较少发生的系统内部的错误,程序员对这些错误通常无能为力,只能在发生时由用户按照提示来终止程序的运行。4. throw和throws语句的区别? throw是抛出一个异常对象,如:throw new Exception throws是某一个方法在声明和定义时,这个方法后面紧跟着throws,然后阐明这个方法可能抛出异常,如:throws new Exception 这个异常可以是标准异常类,也可以是自定义的异常类。第十章1. Java输入输出的基本方式? 主要是通过输入和输出流实现的,输入流将数据从文件标准输出或其他外部设备输入,输出流将数据保存到文件或传输给相关的设备。2. 字符流域字节流的区别是什么?举例说明哪些类处理字符流?哪些处理字节流?如果字节流向字符流进行转换需要用什么类? 字节流是以字节为单位的访问文件,字节流具有两个重要的抽象类,“input stream 和 output stream”。字符流是以字符为单位的访问文件,两个重要的抽象类,“Reader和Writer”。 桥接类在定义字节流时,由于任何字节流的类都跟着一个stream,字符流的类后缀reader,writer。桥接类:跟着Inputstream reader和Outputstream writer。3. 为什么需要使用带有缓冲的输入输出流进行数据的读取与写入? 提高运行效率,对字符而言,为Buffer Reader,对字节而言,Buffer Input stream 如:Buffer Reader new=Buffer Reader()第十一、十二章1. javaGUI编程需要导入哪些包?.awt*,.Swing*,.event*2. 什么是组件?什么是容器?哪些是顶层容器?哪些是中间容器?组件是图形用户界面是哪个现实的各种图形基本成分和核心元素。容器是可以包含其他组件的组件,容器是组件的一种。顶层容器:JFrame,JDialog,JApplet(用于布局其他容器与组件的最基本容器)中间容器:JPanel,JScrollpane,JTabbedpane,JToolBar 最灵活最常用的中间容器3. 什么是布局管理器?作用是什么?说出三种布局管理器及其特点。布局管理器是用来管理各种组件 容器中摆放位置的对象;作用是将组件房子相应的位置,使容器中的组件安排更加合理,减少与系统平台的相关性;BorderLayout(边布局)类:把容器内的空间划分为东、西、南、北、中五个区域;FlowLayout(流式布局)类:从左到右排列;GridLayout(网格布局)类:从左到右从上到下的顺序依次放入各网格中(没个网格只能放一个组件)4. 什么是事件?Java如何处理用户的操作?事件:当用户用键盘或鼠标来进行操作时,操作系统发出的相应的信号。事件源:用户在操作过程中所使用的相关组件。通过事件驱动模型来处理用户操作的。5. 列出常用的时间监听器接口及其方法。ActionListener actionperformed()AdjustmentListener adjustmentValueChange()FocusListener focusLost() focusGained()ItemListener itemStateChange()KeyListener keyPressed()正按下那个键还没有弹起 keyTyped()已经按下那个键MouseListenerJAVA 编程复习总结笔记一1安装JDK时不要默认安装到C:Program Filesjava.,因为Program Files中间有空格,会对以后安装的相关软件的运行。所以,最好默认安装到C:jdk.中。2Eclipse也是java写的3java最关键两种机制:垃圾收集和虚拟机4SDK: Software Development KitJRE: Java Runtime Environment5Solaris6配置path&classpath1)Path:windows系统执行命令时要搜索的路径所以,javac其实是执行了windows下面的一个可执行文件:C:jdk5.0bin下面的javac.exe命令.windows执行时会到一个叫path的环境变量下去找。2)Classpath:java在编译和运行时要找的class所在的路径.;当前目录下执行,一定要写在最前面。C:test test目录下执行7UltraEdit-32出现#.java.bak文件,是UltraEdit自动添加的.高级-配置-文件处理-备份:选择不备份就可以了8本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域.因此,变量必须先声明(先把这块内存给我分配了),后赋值(填内容),才能使用。9内存管理:Heap:动态生成内存用的,即new出来的东西Stack:局部变量Data segment:静态变量字符串常量Code segment:存放代码10java变量的分类:1)按被声明的位置局部变量:方法或语句块内部声明的成员变量:(不是C+的全局变量)方法体外,类体的内部声明的11Java采用Unicode编码,Unicode是全球语言统一编码128位表示1个字节,2个字节表示1个字符。(1个字节最多表示2的8次方个符号,所以用来表示中文,日文一个字节不够用,所以中国有国标码:GB2312)13 Boolean只能是true和false.1Byte:一个字节short:二个字节int:四个字节long:八个字节2八进制要求以0开头,如012十六进制要求以0X或0x开头,如0x123编程格式:1)右大括号对齐2)遇到左大括号tab键(或者shift+tab)缩进3)程序块之间加空行4)并排语句之间加空格5)运算符两边加空格6)成对编程7)前面有空格4运算符/ :除%:求余5Void catchdog (Dog d) d.scream();)6JDK本身就提供了很多类,比如string7引用变量相关知识点:Java里除了基本类型(四类八种)之外的变量都叫引用类型Java中的对象是通过引用对其操作的。引用分配的是两块内存:Strings;先在内存中占NULL,在stack内存中S = new string(“hi”);完了实际分配内存,s指向了在heap内存中中new出的对象类的成员变量在不同的对象中有不同的值但方法只有一份,不占内存,只是一堆代码。只有在执行的时候才占内存。8使用对象(引用).成员变量使用对象(引用).方法来调对象的方法。9构造方法与类同名且没有返回值,而其他的方法必须要有返回值,没有intdouble的时候必须也要有void.10Person jyang = new person(1,3);的时候,注意类person带了参数,说明不是编译器自动添加的构造函数了,这说明已经重载的构造方法。如果没有重载的话,应该是person jyang = new person();11约定俗成的命名规则:1)类名的首字母大写2)变量名和方法名的首字母小写3)驼峰标识1static1)static的成员变量只有一份,不像其他的成员变量只要new一个对象就有一份。2)在调用static方法时,不会将对象的引用传递给它!static方法中不能访问非static成员,即静态方法不再是针对某个对象调用,所以不能访问非静态方法。3)可以通过对象引用或类名(不需要实例化)访问静态成员。2第一句话写package访问位于同一个包下面的类不需要引入3java.lang包含一些java的核心类,如string,math,integer,system和Thread,提供常用功能。Java.awt包含了构成抽象窗口工具集(abstract window toolkits)的多个类,用来构建GUI。Java.applet包含applet运行所需的一些类。Java.net包含执行与网络相关的操作的类。Java.ioJava.util包含一些实用工具类,如定义系统特性,使用与日期日历相关的函数。4jarcvfxx.jar*.*5private类内部访问,即使是子类继承了也不能用。default类内部,同一个包内的其它类也可以访问protected类内部。同一个包可以访问或者不是这个包但是子类也可以public任何地方都可以6extends通过继承,子类自动拥有了基类的所有成员变量和方法。7java只支持单继承,一个子类只能有一个基类,但一个基类可有派生出多个子类8重写:override在子类中可以根据需要从基类中继承来的方法进行重写。重写方法必须和被重写的方法具有相同的方法名称,参数列表和返回类型重写方法不能使用比被重写方法更严格的访问权限重载:一个类中的。9Java类中使用super来引用基类成分,This是当前对象的引用(this.#),super是父类对象的引用(super.#)。1继承中构造方法的规则1)子类的构造的过程中必须调用其基类的构造方法,即构造子类的时候必须先构造好基类(没有父亲的存在哪有儿子的存在)2)子类可以在自己的构造方法中使用super(argment_list)调用基类的构造方法.如果调用super,必须写在子类构造方法的第一行3)如果子类没有显示的调用基类构造方法,系统默认调用基类默认的构造方法(此时,如果基类构造方法重载,这时没有写无参数的构造方法,编译器没有默认构造方法,则出错)2Object类1)Java.lang中的类,是所有java类的根基类2)类的声明中未使用extends关键字指明其基类,则默认为从objects继承3)finalize():类似C+的析构函数,在java中垃圾回收器帮忙自动调用这个方法。clone():getClass():与反射有关,返回一个对象运行时的类toString():1)object类中定义有publicStringtoString (),其返回值是String类型,描述当前对象的有关信息。2)在进行String与其它类型数据的连接操作时(如:System.out.println(“info”+Persion),将自动调用该对象类的toString()方法3)可以根据需要在用户自定义类型中重写publicStringtoString ()方法。system.out.println(b);(b是一个new出的对象)4)重写要copy!如果重写成publicStringToString(),编译没问题,但运行不行。equals():加“s”第三人称。1)system.out.println(C1 = C2)结果为falsesystem.out.println(C1.equals(C2);结果为false.这是最原始的equals方法,所以结果换汤不换药,和上面的一样。因为比较的两个猫的引用,内存地址不等,永远不等。2)所以需要重写equals()方法:public boolean equals(Object obj)if(obj instanceof Cat)/如果obj属于一只猫Cat c=(Cat) obj;/强制转换object为一只猫.3)object类中的string类data类等都已经重写了equals方法。1)基类的引用类型变量可以指向其子类的对象2)基类的引用不可以访问其子类对象新增加的成员(属性和方法)如:基类animal a = new dog();a不能访问dog的新增成员。3)可以使用引用变量instanceof类名来判断该引用型变量所指向的对象是否属于该类或该类的子类(如:ainstanceof dog)4)子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之称为向下转型(downcasting)需强制转换。如:dogd1=(dog) a;把动物a强制转换成一只狗。1 抽象修饰符可以修饰抽象类和抽象方法。凡是用抽象修饰符修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。由于抽象类是它的所有子类的公共属性的集合。例:abstract class phonecard表示电话卡类所有公共属性。修饰符abstract修饰的抽象方法是一种仅有方法头,而没有具体的方法体和模块实现的方法。例:abstract void phonecard;可见abstract方法只有方法头的声明,后面没有大括号包含的方法体。2 静态修饰符使用在静态域和静态方法中,静态域是用static修饰符修饰仅属于类的域,它们是类的域,不属于任何一个类的具体对象,静态域是一个公共的存储单元,任何一个对象访问它时,取到的都是相同的数值。例:Set Addtory ( ):Static void setAdditory (double newadd) if ( newAdd 0 ) additoryFee = newAdd; / additoryFee为静态域。2.什么是构造函数?构造函数有什么特点?子类如何调用父类?1 构造函数:构造函数用来处理对象的初始化。它是一种特殊的成员函数。构造函数名必须与类名相同,它不具有任何类型,不返回任何值。2 构造函数的特点:A 可以为对象的属性赋初值,还可以在对象初始化过程中进行必要的检查和处理。 B 提高了编程的灵活性。3 子类调用父类:A如果子类没有定义任何函数,那么就在创建子类对象时将调用父类的无参数的构造函数 B 如果子类自己定义了构造函数,则在创建子类对象时,系统将首先隐含执行父类无参数的构造函数,然后再执行子类自己的构造函数。C 如果在子类自己定义的构造函数中,利用super关键字显式的调用父类的构造函数,系统不再隐含父类的无参数的构造函数。PS:super的显式调用语句必须是子类构造函数的第一个可执行语句。3.如何定义数组,如何开辟数组空间?1 声明数组:声明数组主要是声明数组的名称和数组所包含的元素的数据类型或元素的类名。 数组元素类型 数组名 ;或 数组元素类型 数组名;例: int MyIntArray ; 或 D200_Card ArrayOf200Card; /类也可以当作一个基本数据类型使用2 开辟数组空间:数组名= new 数组元素类型数组元素的个数;例: int MyIntArray = new int 10; D200_Card ArrayOf200Card = new D200_Card 154.用内部类和当前类如何实现监听者?内部类: Public class Test exTends Applet Button bt; Public void init ( ) bt = new Button (计算); add (bt); bt.addActionListener(new ButtonAct ( ) ); class ButtonACT implements ActionListener /内部类 Public void actionperformed(ActimEvent e) / bt的事件处理 当前类: Public class Test extends Applet imPlements ActionListener Button bt ; Public void init ( ) bt = new Button(计算) add(bt); Public viod actionPerformed (ActionEvent e) /bt 的事件处理 5.有哪几种布局?每种布局的情况如何,如何使用?1 FlowLayout 布局:组件在一行中从左至右水平排列,排满后折行。A加入组件:add(组件名);B 将布局改为FlowLayout; 使用 SetLayout( new FlowLayout ( ) );语句。也可以使用下列两种构造函数。 1 FlowLayout (int align, int hgap, int vgap) Align:每行的对齐方式:LGFT,CENTER,RIGHT Hgap:横向间距(单位是像素) Vgap:纵向间距(单位是像素) 2 FlowLayout(int align) 横纵向间距固定为5个像素。2 BorderLayout布局:组件按北 南 东 西几个位置排列,规定各组件间的横纵距都为0;其他都如1中使用3 GrrdLayout:以行和列的网络形式或安排组件指定化分网格:setLayout (new GirdLayout( 行数 列数) );加入一个空的标签:add(new Lable( ) )4 CardLayout:每一个组件为一个卡片 容器仅显示其中一张卡片A 创造对象:MyCard =new CardLayout ( )B 指定布局属性:setLayout(Mycard)C 加入组件:add(字符串,组件);D 显示:show(容器名,字符串);此外:first(容器名):显示第一个组件 Last(容器名):显示最后一个组件 Previous(容器名):显示前一个组件 Next(容器名):显示下一个组件。6.简述JAVA事件的处理机制7.什么是容器组件?(Ponel与Frame的扩展)Ponel与容器事件:Ponel属于无边框容器。Ponel是Container的子类。它是最简单的容器,它没有边框或其他可视边界,不能被移动,放大缩小或关闭。Ponel总是作为一个容器组件被加入列其他的容器中,Ponel也可以包含另一个PonelFrame可以作为一个Application的最外层容器,也可以被其他容器创建并弹出成为独立的容器,Frame容器的方法有: 1 getTitle( )和setTitle(string) 2 setVisible(boolean)方法 3 dispose ( )方法8.String类的构造函数及其使用方法1 Public string ( )这个构造函数用来创建一个空的字符串常量2 Public string( Sting value)利用一个已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。3 Public string(string Buffer buffer)利用一个已经存在的String Buffer对象为新建的String 对象初始化4 Public String (char value )利用已经存在的字符数组的内容初始化新建的string 对象Java的开发环境(1)、bin目录:存放可执行文件。(2)、lib目录:存放Java的类库文件。(3)、demo目录:存放演示程序。(4)、jre目录:存放Java运行环境变量。配置环境:用户变量是针对某一个用户的,而系统变量是针对整个电脑的。要加两个路径:(1)、path 加bin路径;并以分号隔开。 (2)、classpath 加 .;lib的路径。Java数据类型分两个类别:(1)、原始数据类型。(2)、引用数据类型。原始数据类型Java关键字都是小写。Byte(字节型) 8 -128127Boolean(布尔型) 1 true/false引用数据类型:(1)、数组:具有相同数据类型的变量的集合。(2)、类:变量和方法的集合。(3)、接口:一个抽象类,其创建目的是为了实现Java中的多重继承。变量的作用域和生命周期变量在作用域内为局部变量,所以在其作用域外不能使用.作用域可以嵌套。类型转换1、自动类型转换:(1)、两种类型必须兼容(2)、目标类型大于源类型。2、强制类型转换3、类型提升规则赋值运算符:可以将单个语句中赋给多个变量。从右向左执行。例:p = q = r = s = num.逻辑运算符:逻辑异 :如两个值一样就为假.条件运算符 语法:Expression1 ? expression2 : expression3Java源文件的名与公共类名一样包括大小写源文件最多有一个公共类,源文件可以没有公共类,此时源文件名可以随意。数组仅声明: 例:datetype identifier声明和创建: 例:datatype ident ifier = new datetypesize;声明、创建和初始化: 例:datetype identifier=value1,value2,.valueN;命令行参数Args.length:能得到数组的长度。可以在命令行直接传数值给main()方法的String类型的数组args。对象:是存在的具体实体,具有明确定义的状态和行为。消息传递:本质上就是方法的调用(?)消息:指一个对象为执行特定操作而向另一个对象发送的请求。类类:是具有相同属性和共同行为的一组对象的集合。类的属性:对象或实体拥有的特征在类中表示时成为属性。对象执行的操作称为方法。类和对象的区别类是用来描述实体的“模板“或”原型“,而对象是实际的实体。封装隐藏属性、方法或实现的详细信息的处理方式称为封装。抽象它是指只关注对象的重要细节,而忽略对象的次要细节。通过抽象简化软件的复杂性。抽象分:(1)、数据上的抽象(2)、过程上的抽象。将实体的相关属性和操作根据特定的应用程序进行标识和分组的过程就是数据抽象。在Java中实现类语法如下:Class 类中的方法语法:(,.) 调用方法类似于调用或引用实例变量。方法可是使用点操作符来访问。方法被调用的对象在圆点左边,而方法的名称在圆点右边。例如:Obj . isAvailable();构造方法例:Pixel p = new Pixel();Pixel():是类中的构造方法。是new出来的东西都是引用类型。构造方法是只要在创建给定类的实例时就调用的一个方法。它们与类同名,但不具备任何返回类型。构造方法的特点:(1)、跟类名相同。(2)、没有任何返回值。(3)、构造方法只能用new来调。(4)、构造方法一般不只一个,就构成了重载。构造方法类型:(1)、参数化构造方法。(2)、隐式/默认构造方法。当一个类未定义构造方法时,Java虚拟机(JVM)便提供一个默认构造方法,它不带任何参数,其主体不含任何语句,这种构造方法称为隐式构造方法。类中声明构造方法,类不会再自动添加了.包主要用途:1、包允许将类合成为较小的单元,使其易于中找到和使用相应的类文件。 2、有助于避免命令冲突。创建包:package pkg;创建包前面一般加上公司的域名例如: package cn.qingdao.s1t23;自动使用包名创建一个文件,并自动将。Class文件存放在此文件夹中。例:javac d c:java Calculate.java导入包:import package_name.*;如果使用的类是来自不同的包,且没有使用import语句导入该包,则需要在代码中指明使用类隶属的包。方法是使用“.”来访问中的成员。例如:Mypackage.Calculate calc=new mypackage.Calculate();知识扩展:课后作业题2、(1)、两个类建在一个文档下面执行的时候问什麽不成功?解:不能进入包中运行类。运行的方法是在包外加包前缀运行。例:Java parent.child.ParentTest (2)、用点星导进所有类问什麽出现错误? 解:是因为JAVA程序错把.JAVA源文件当成.class字节码,而无法编译。只需把源程序提出包就可以了。面向对象的特点:(1)、封装。(2)、继承。(3)、多态.继承主要有点:代码的可重用性。使用关键字extends来继承类。一个类一经定义和调试,便可以用来创建新的子类的对象中,子类Car、Ship和Plane具有与父类相同的属性和方法。子类构造方法构造方法用于初始化特定类型的对象并分配内存,构造方法的名称与类名相同。创建对象时会自动调用构造方法。类似地,子类的构造方法的名称也与子类名相同,创建子类的对象时将调用此构造方法。需要注意的是,子类永远不会继承父类的构造方法除了构造方法之外,父类的所有方法和属性都由子类的对象继承。创建子类的对象时,它将会包含父类的所有方法和属性。父类的值应该正确地初始化,这一点非常重要。子类构造方法可以调用父类构造方法。需要注意的是,父类构造方法的调用总是先于子类构造方法的调用。另一方面,通过使用关键字super,程序员还可以从子类构造方法中调用父类中默认构造方法或或带参数的构造方法。调用父类调用父类构造方法的语句应该为子类构造方法中的第一个语句这是因为父类先于子类存在。例:auper(parameter_list) or super();多态性函数不能嵌套,也就是函数内部不能出现函数。重载方法:参数列表不同(1)、数目不同(2)、参数类型不同。(3)、参数顺序不同。重写方法:在类体系结构中,当子类中的方法与其父类中的方法具有相同的方法时,则认为子类中的方法重写了父类中的方法。从子类中调用重写方法时,将总是调用出项在子类中的方法,而父类中的方法将被隐藏。多态性:一个子类有自己的属性,又有父类的属性。这种状态叫多态性。Super :(1)、子类的构造方法可用来调用父类的构造方法。 (2)、调用已被重写的父类的方法(可以不是第一句)。访问修饰符1、 public(公有):类的public成员可以被该类的成员和非该类的成员访问。可应用于:类、方法、属性。2、 private(私有):类的private成员只能被该类的成员访问,任何非该类成员的代码不能访问任何私有方法或变量。使用private访问修饰符的主要目的是隐藏数据。3、 protected(保护):类的protected成员可以被该类的成员以及其子类的成员访问。它还可以被同一个包内其他类的成员访问。4、 (default):还有一种缺省(default)情况,就是类成员什么修饰符也没有的时候,只有它本身的类和在同一个包的类里可以访问它。位置 private default protected public 同一个类 是 是 是 是 同一个包内的类 否 是 是 是 不同包内的子类 否 否 是 是 不同包并且不是子类 否 否 否 是 方法修饰符static修饰符:方法被static后这个方法就是类的了,只能通过类调用。静态的方法只能使用静态的东西。方法声明为静态时具有某些限制,具体内容如下。 它们只能调用其他静态方法。 它们必须只访问静态数据。 不能使用关键字this或super。final修饰符:有时候程序员可能需要定义一个不会改变的类成员。final修饰符可应用于类、方法和变量。Final可用于类:不能被继承了方法:不能重写。但它的值可以更改。属性:变成常量。abstract修饰符:父类中的某些方法不包含任何逻辑,并且需要由子类重写。在这种情况下,应该使用关键字abstract来声明父类中的方法。子类提供这种abstract方法的实现细节,而父类仅提供此方法的名称和声明,没有方法的主体。因此子类应负责重写此方法。语法为:abstract type methodname(parameter list);只有方法没有方法体就是抽象方法。前面必须要加abstract。类中出现了抽象方法,则该类为抽象类。抽象方法未必有抽象方法。抽象类不能实例化对象。被继承的子类一般要实现所有抽象方法。抽象父类和抽象子类可以有含有方法体的方法,但是也不能实例化,可以通过抽象子类的子类来实现抽象父类和抽象子类。接口所有方法都必须抽象。接口定义和类定义类似,在Java中要定义一个接口,是通过interface关键字。接口里可以声明一些方法和常量。语法:public interface firstInterface接口的实现和使用:implements。语法:public class InterfaceDemo implements MyInterface创建接口时必须牢记以下几点: 接口中的所有方法必须是public类型或默认类型。 方法仅仅是声明在运行时发生的错误就称为“异常”,在运行时跟踪这些异常被称为“异常处理”。try :监控异常的程序语句包含在try块中。catch :程序员可以捕获异常并以某种合理的方式来处理它。throw :直接抛出异常。throws :子句用于在方法声明中抛出异常。finally :可以指定在程序结束之前必须执行的代码,也就是说无论是否发生异常,finally块中的代码都将会被执行。try /被监控的代码;catch /处理异常及打印出生成异常的原因。 catch /处理异常及打印出生成异常的原因。finally 无论try/catch块内发生了什么,无论是否已引发异常,finally块都将在运行时执行。 finally 子句通常用于系统资源的清理/释放,如关闭文件、关闭数据库连接等。try 块 catch 块 finally 块 无异常 异常类的层次结构。Object Throwable Error Exception AWTError ThreadDeath RuntimeException ArithmeticException ClassNotFoundException SQLException NullPointerException 异常类的方法printStackTrace():是再Exception类中定义的方法,用于显示有关异常的信息。它包含的信息不仅波及异常的原因,还波及产生该异常的代码行。getMessage(): 是在RuntimeException类中定义的方法,用于获得与异常相关的详细信息。getStackTrace(): 方法提供通过程序对printStackTrace()输出的堆栈帧。如果原因不存在或未知,getCause()方法将返回错误或null的原因。throw :例:try throw NullPointerException ee=new NullPointerException();catch (NullPointerException e) System.out.println(“已捕获内部throwException”); Throw e;包装类:可以把原始数据转换成相应的类型。
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!