《java复习重点资料.pdf》由会员分享,可在线阅读,更多相关《java复习重点资料.pdf(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章Java概述1.Java如何实现跨平台?通过Java虚拟机JVM来实现跨平台,先将Java源程序编译成字节码(后缀为.class的代码),字节码可以在Java虚拟机上运行,不同的平台有不同的Java虚拟机JV M,相同的字节码可以不同的平台上运行。2.Java开发的三个平台是什么?J2SE、J2EE 和 J2ME3.如何编译与运行java程序?在 Dos命令提示符状态下通过命令行来实现的。例如:test,java test,class Outputjavac java如果用命令行运行te s t的话,后面不可以写”.class”,若写成test,c la ss系统会把class当成类名t
2、 e s t 当成类包,所以在没有类包的情况下不要写成“.c la ss”形式。第二章Java基础1.什 么是标识符?如何定义标识符?标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。Java语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构亦则首字母小写,其后单词的首字母大写,其余字母小写,如 getAge。(2)类名首字母大写。(3)常量名全部字母大写。2.关键字的定义?关键字是由Java语言定义的、具有特殊含义的字符序列。其首字母不能大写。如:thi
3、s,super,extends,if,class,instanceof3.Java中数据类型的结构?字 符(char)字 节(byte)短 整 数(short)整 数(int)长 整 数(long)单 精 度 浮 点 数(float)双 精 度 浮 点 数(double)I引用数据类型 接口,数组float与 double定义时的区别:float型的数要在后面要加f,如 34.5f4,常量与变量的声明方式?常量:final 修饰符 类型标识符常量名=(直接)常量如:final public double PAI=3.14;变量:修饰符类型标识符变量名匚常量;如:public float x=2
4、5.4f;常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时的值。布 尔(boolean)(基本数据类型 I r 定 点 类 型 I数 值 类 型 数 据 类 型 (浮 点 类 型(类5.Java的运算符和表达式?单目运算符:+、-、-双目运算符:+、-、*、/、%逻辑运算符:&、I、!、A、&、II区别,逻辑与:&/逻辑或:I:短路与:&(只要一个为F,定为F)短 路 或:II(只要一个为T,则一定为T)6.关于注释的正确写法?,“.”单行注释“/*.*/多行注释第三、四、五章l.Java的三种基本控制结构?顺序,选择和循环if,switch,while,for,
5、continue 与 break 区 另 U2.数组的定义?举例定义一个基本数据类型的数组和一个引用数据类型的数组。数组是一组同类型的数据的集合,除了基本数据类型还包括引用数据类型,那么引用数据类型数组是如何声明、初始化和使用的。例:基本数据类型数组的声明,初始化intc=new int 5;(5表示数组的单元长度是5)c0=-5;或 intc=1,2,3);c2=3;引用数据类型数组的声明初始化例:Stringls=new String3;(3 表示有 3 个单元)S0=new String(ab);或Stringsl=T,2,3;或Stringsl=new String,3”);Strin
6、gJs2=new String(2);Strings3=new String(3);3.如何声明数组,初始化数组以及使用数组?4.如何获得数组单元的长度?int len=s.length5.熟练掌握一维数组的声明、初始化和操作6.字符串的声明与初始化?常量字符串String,字符串直接量字 符 串 J I 字符串常量可 变 字 符 串 StringBuffer.字符串String=hello”hello会保存在字符串值里字符串直接量String sl.=new string(hello);在堆上开辟了一个新的对象空间来存放hello对象变量String s2=hello;先看字符串池里面有没有
7、h ello,若有则直接将s2指向那个位置String s3=new string(hello);只要有new出现就一定会开辟一个新的空间。7.字符串直接量与字符串常量的区别:存储位置不一样,字符串直接量放在字符串值里,字符串常量放在堆上。8.常量字符串类与可变字符串类分别是什么?9.常量字符串的基本操作方法有哪些?5+5+“Hello”=?-lOHello Hello+5+5=?=Hello55”=与equals”的区别:比较对象是否相等的方法是“=”和equals”,在采用“equals”进行比较时不会出现问题,“=比较引用变量的值,“equals”(对象:内存里整块存储的东西,对象变量S
8、tring si s i 即为对象变量)比较的是对象里的内容,故比较时应该比较对象里面所包含的内容而不是对象变量。第六、七、八章1.什么是类?类的成员组成?接口是否为类的成员?类就是将我们自然界中的事物的属性特点和行为特点抽象封装到类当中,反映这类事物的特点和功能。类的成员包括域变量和成员方法,对于域变量和成员方法都可以用static来修饰,static修饰的域变量称为类变量,static修饰的方法称为类方法,没有被static修饰的域变量和成员方法称为实例变量(可以在程序中直接调用)和实例方法。接口不是类的成员,是一种特殊的类,不用class,而H interface。2.关于类的正确表述?
9、必须依照类的写法,如何定义3.什么是静态域变量和实例域变量,静态方法和实例方法?静态域变量称为类变量,静态方法也称为类方法,因为它们可以通过“类 名 来 调 用.4.什么是对象?如何创建对象?什么是对象变量?如何对对象进行初始化?对象是类的一个实例。new在创建对象的作用:(1)通过new在堆上开辟一个对象空间,将类当中的域变量跟成员方法复制到对象空间当中;(2)通过new来调用构造方法来初始化对象;(3)将对象空间的首地址赋值给对象变量。对象变量就是指对象的首地址,通过构造方法对对象进行初始化。5.什么是构造方法?构造方法的特点与作用?构造方法:(1)在一个类中方法名与类名相同的方法;(2)
10、构造方法不是通过对象来调用,而是通过new运算符来调用;(3)构造方法是一种特殊的成员方法,它没有返回值。构造方法特点:可以被重载,当没有在类中定义构造方法时,系统会默认提供一个不带参数的构造方法。作用:初始化对象。6.super和 this关键字的用法?this用在当前类,当前类的一个默认的对象,可以通过this来调用当前类的属性和成员方法,也可以直接调用当前类的构造方法的重载方法。super用于一个类的子类中,作为父类在子类中的个默认的对象,通过它来调用父类的成员属性和成员方法,也可以在子类的构造方法里直接调用父类的构造方法。7.final修饰类、变量和方法时各有什么特点?修饰类:这个类不
11、能够被继承。修饰变量:这个变量值不能改变,成为一个常量。修饰方法:这个方法不能被覆盖。8.面向对象编程中,java类的三个主要特征是?三个主要特征:封装性、继承性和多态性封装性:通过类的访问修饰符来实现封装性的public,protected,缺省,private的访问权限继承性:extends 个类继承了另一个类,那么父类的所有成员属性和成员方法都可以被继承到子类当中,子类也可以创建新的成员属性和成员方法(现有的类创建新的类的特性)super多态性:静态多态性,如:重载函数。动态多态性,如:覆盖函数。重 载(overload):一个类中可以定义多个名称相同,但参数变量不同的方法,重载方法与返
12、回类型无关,重载方法常常用于构造方法,用于实现不同功能的初始化工作,重载也称为静态多态性,这是山于该方法被调用时采用静态地址充定位方式。覆 盖(override):在子类中对父类的某方法进行了重新定义,但方法的签名特征与父亲完全一致,访问修饰符的访问的限制宽于或至少等于父类的访问权限;主要用于实现同一个方法在不同的类中实现不同的表现形式,覆盖也称为动态多态性,这是由于该方法只有在运行时才能确定所调用的地址(也是多态性)。9.什么是抽象类?什么是抽象方法?抽象类的特点?在类中至少有一个方法是抽象方法,那么这个类就称为抽象类,用 abstract来修饰抽象类。抽象方法即没有定义这个方法的主体,给出
13、这个方法的签名特征。特点:抽象类的对象变量是通过它的非抽象的子类来初始化的。如:Animal T=new Tiger()里的方法都是抽象方法,修饰符为public,没有写默认为public抽象类 非抽象类10.什么是接口?接口的特点?接口的作用?接口是使用interface关键字来代替class的特殊的类。接口的三种形式:(1)仅有常量接口;(2)常量和抽象方法接口(3)仅有抽象方法接口。作用:(I)可以实现常量接口在多个类当中共享常量;(2)实现共享一组标准操作来实现多个类之间的共享约定;(3)实现多态性。11.接口与抽象类的区别?接口中所有的方法都是抽象方法,不管这个方法是否使用publi
14、c,abstract修饰,它都是默认的公有的抽象方法,抽象类至少有一个抽象方法,而且还有一个成员方法,接口中不能定义构造方法,抽象类可以定义构造方法。12.什么是包?包的作用?包是java语言提供的组织类和接口的工具,将一组相关的类为接口,组织到一个包中。作用:(1)通过包可以来确定类的唯一标识;(2)通过包可以将相似功能的类和接口组织在一个包中。第九章1.什么是异常?为什么要处理异常?异常是指程序运行过程中出现的非正常现象。由于异常情况总是难免的,良好的应用程序除了具备用户所要求的基本功能外,还应该具备预见并处理可发生的各种异常的功能。2.异常的基本处理方式?常用的异常类有哪些?两种处理方式
15、:(1)一旦捕获异常马上进行处理。try,catch,finally(2)捕获异常并不处理,而是利用方法将异常抛出,throw,throws3.Error 和 Exception 类的区别?Error是用来处理较少发生的系统内部的错误,程序员对这些错误通常无能为力,只能在发生时由用户按照提示来终止程序的运行。4.throw和 throws语句的区别?throw 是抛出一个异常对象,如:throw new X X X Exceptionthrows是某一个方法在声明和定义时,这个方法后血紧跟着throw s,然后阐明这个方法可能抛出异常,如:throws new X X X Exception这
16、个异常可以是标准异常类,也可以是自定义的异常类。第十章I.Java输入输出的基本方式?主要是通过输入和输出流实现的,输入流将数据从文件标准输出或其他外部设备输入,输出流将数据保存到文件或传输给相关的设备。2.字符流域字节流的区别是什么?举例说明哪些类处理字符流?哪些处理字节流?如果字节流向字符流进行转换需要用什么类?字节流是以字节为单位的访问文件,字节流具有两个重要的抽象类,“input stream 和output stream。字符流是以字符为单位的访问文件,两个重要的抽象类,R eader和Writer”。桥接类在定义字节流时,由于任何字节流的类都跟着一个stream,字符流的类后缀re
17、ader,w riter,桥接类:跟着 Inputstream reader 和 Outputstream writer。3.为什么需要使用带有缓冲的输入输出流进行数据的读取与写入?提高运行效率,对字符而言,为 Buffer R eader,对字节而言,Buffer Input stream如:Buffer Reader new=Buffer Reader()第 十、十二章1.javaGUI编程需要导入哪些包?.awt*,.Swing*,event*2.什么是组件?什么是容器?哪些是顶层容器?哪些是中间容器?组件是图形用户界面是哪个现实的各种图形基本成分和核心元素。容器是可以包含其他组件的组件
18、,容器是组件的一种。顶层容器:JFrame,JDialog,J Applet(用于布局其他容器与组件的最基本容器)中间容器:JPanel,JScrollpane,JTabbedpane,JToolBar最灵活最常用的中间容器3.什么是布局管理器?作用是什么?说出三种布局管理器及其特点。布局管理器是用来管理各种组件容器中摆放位置的对象;作用是将组件房子相应的位置,使容器中的组件安排更加合理,减少与系统平台的相关性;BorderLayout(边布局)类:把容器内的空间划分为东、西、南、北、中五个区域;FlowLayout(流式布局)类:从左到右排列;GridLayout(网格布局)类:从左到右从上
19、到下的顺序依次放入各网格中(没个网格只能放个组件)4.什么是事件?Java如何处理用户的操作?事件:当用户用键盘或鼠标来进行操作时,操作系统发出的相应的信号。事件源:用户在操作过程中所使用的相关组件。通过事件驱动模型来处理用户操作的。5.列出常用的时间监听器接口及其方法。ActionListenerAdjustmentListenerFocusListenerItemListenerKeyListener按下那个键MouseListeneractionperformed()adjustmentValueChange()focusLost()focusGained()itemStateChang
20、e()keyPressed()正按下那个键还没有弹起 keyTyped()已经J A V A 编程复习总结笔记一1 安装JDK时不要默认安装到C:Program Filesjava,因为Program Files,中间有空格,会对以后安装的相关软件的运行。所以,最好默认安装到C:jdk 中。2 Eel ipse也是iava写的3 java最关键两种机制:垃圾收集和虚拟机4 SDK:Software Development Kit JRE:Java Runtime Environment5 Solaris6 配置 path&classpath1)Path:windows系统执行命令时要搜索的路径
21、所以,javac其实是执行了 windows下面的一个司,执行文件:C:jdk5.Obin下面的javac.exe命令.windows执行时会到一个叫path的环境变量下去找。2)Classpath:java在编译利运行时要找的class所在的路径.;当前目录下执行,一定要写在最前面。C:test test目录下执行7 UltraEdit-32出现#.java.bak文件,是UltraEdit自动添加的.高级-配置-文件处理-备份:选择不备份就可以了8 本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域.因此,变量必须先声明(先把这块内存给我分配了),后 赋 值(填内容),才能使
22、用。9 内存管理:Heap:动态生成内存用的,即 new出来的东西Stack:局部变量Data segment:静态变量字符串常量Code segment:存放代码10 java变量的分类:1)按被声明的位置局部变量:方法或语句块内部声明的成员变量:(不是C+的全局变量)方法体外,类体的内部声明的11 Java采用Unicode编码,Unicode是全球语言统一编码12 8 位表示1个字节,2 个字节表示1个字符。(1 个字节最多表示2 的 8 次方个符号,所以用来表示中文,日文一个字节不够用,所以生国有国标码:GB2312)13 Boolean 只能是 true 和 false.1 Byte
23、:个字 节 short:二个 字 节 int:四 个 字 节 long:八个字节2 八进制要求以0 开头,如 012卜六进制要求以0X 或 Ox开 头,如 0 x123 编程格式:1)右大括号对齐2)遇到左大括号tab键(或者shift+tab)缩进3)程序块之间加空行4)并排语句之间加空格5)运算符两边加空格6)成对编程7)前面有空格4 运算符/:除%:求余5 Void catchdog(Dog d)d.scream();)6 JDK本身就提供了很多类,比如string7 引用变量相关知识点:Java里除了基本类型(四类八种)之外的变量都叫引用类型Java中的对象是通过引用对其操作的。引用分
24、配的是两块内存:String s;先在内存中占N U L L,在 stack内存中S=new string(hi”);完了实际分配内存,s 指向了在he叩内存中中new出的对象类的成员变量在不同的对象中有不同的值但方法只有一份,不占内存,只是一堆代码。只有在执行的时候才占内存。8 使用对象(引用).成员变量使用对象(引用).方法来调对象的方法。9 构造方法与类同名且没有返回值,而其他的方法必须要有返回值,没 有 int double的时候必须也要有void.10 Person jyang=new person。,3);的时候,注意类person带了参数,说明不是编译器自动添加的构造函数了,这说
25、明已经重载的构造方法。如果没有重载的话,应该是person jyang=new person();1 1 约定俗成的命名规则:1)类名的首字母大写2)变量名和方法名的首字母小写3)驼峰标识1 static1)static的成员变量只有一份,不像其他的成员变量只要new一个对象就有一份。2)在调用static方法时,不会将对象的引用传递给它!static方法中不能访问非static成员,即静态方法不再是针对某个对象调用,所以不能访问非静态方法。3)可以通过对象引用或类名(不需要实例化)访问静态成员。2 第一句话写package访问位于同一个包下面的类不需要引入3 iava.lang包含一些jav
26、a的核心类,如string,math,integer,system和T hread,提供常用功能。Java.awt包含了构成抽象窗口工具集(abstract window toolkits)的多个类,用来构建GUI。Java.applet包含applet运行所需的一些类。J包含执行与网络相关的操作的类。Java.ioJava.util包含一些实用工具类,如定义系统特性,使用与日期II历相关的函数。4 jar-cvf xx.jar*.*5 private类内部访问,即使是子类继承了也不能用。default类内部,同一个包内的其它类也可以访问protected类内部。同一个包可以访问或者不是这个包
27、但是子类也可以public任何地方都可以6 extends通过继承,子类自动拥有了基类的所有成员变量和方法。7 java只支持单继承,一个子类只能有一个基类,但一个基类可有派生出多个子类8 重写:override在子类中可以根据需要从基类中继承来的方法进行重写。重写方法必须和被重写的方法具有相同的方法名称,参数列表和返回类型重写方法不能使用比被重写方法更严格的访问权限重载:一个类中的。9 Java类中使用super来引用基类成分,This是当前对象的引用(this.#),super是父类对象的引用(super.#)。1 继承中构造方法的规则1)子类的构造的过程中必须调用其基类的构造方法,即构造
28、子类的时候必须先构造好基类(没有父亲的存在咖有儿子的存在)2)子类可以在自己的构造方法中使用super(argmentist)调用基类的构造方法.如果调用 super,必须写在子类构造方法的第一行3)如果子类没有显示的调用基类构造方法,系统默认调用基类默认的构造方法(此时,如果基类构造方法重载,这时没有写无参数的构造方法,编译器没有默认构造方法,则出错)2 Object 类1)Java.lang中的类,是所有iava类的根基类2)类的声明中未使用extends关键字指明其基类,则默认为从。bjects继承3)finalizeO:类似C+的析构函数,在java中垃圾回收器帮忙自动调用这个方法。c
29、lone():getClass。:与反射有关,返回一个对象运行时的类toStringO:1)object类中定义有public String toString(),其返回值是String类型,描述当前对象的有关信息。2)在进行String与其它类型数据的连接操作时(如:System.oul.println(llinfo,+Persion),将自动调用该对象类的toString。方法3)可以根据需要在用户自定义类型中重写public String toString()方法。system.out.println(b);(b 是一个 new 出的对象)4)重写要c o p y!如果重写成public
30、 String ToString。,编译没问题,但运行不行。equals。:加 s 第三人称。1)system.out.println(Cl=C 2)结果为 falsesystem.out.println(Cl.equals(C2);结果为false.这是最原始的equals方法,所以结果换汤不换药,和上面的一样。因为比较的两个猫的引用,内存地址不等,永远不等。2)所以需要重写equals。方法:public boolean equals(Object obj)if(obj instanceof Cat)如果 obj 属于一只猫Cat c=(Cat)obj;/强制转换 object 为一只猫3
31、)object类中的string类色拉类等都已经重写了equals方法。1)基类的引用类型变量可以指向其子类的对象2)基类的引用不可以访问其子类对象新增加的成员(属性和方法)如:基 类 animal a=new dog();a 不能访问dog的新增成员。3)可以使用引用变量instanceof类名来判断该引用型变量所指向的对象是否属于该类或该类的子类(如:a instanceof dog)4)子类的对象可以当作基类的对象来使用称作向上转型(upcasting),反之称为向下转型(downcasting濡强制转换。如:dog dl=(dog)a;把动物a 强制转换成一只狗。1 抽象修饰符可以修饰
32、抽象类和抽象方法。凡是用抽象修饰符修饰的类被称为抽象类。抽象类就是没有具体对象的概念类。山于抽象类是它的所有子类的公共属性的集合。例:abstractclass phonecard表示电话卡类所有公共属性。修饰符abstract修饰的抽象方法是一种仅有方法头,而没有具体的方法体和模块实现的方法。例:abstract void phonecard;可见abstract方法只有方法头的声明,后面没有大括号包含的方法体。2 静态修饰符使用在静态域和静态方法中,静态域是用static修饰符修饰仅属于类的域,它们是类的域,不属于任何一个类的具体对象,静态域是一个公共的存储单元,任何 个对象访问它时,取到
33、的都是相同的数值。例:Sei Addtory():Static void setAdditory(double newadd)if(new Add 0)additoryFee=new Add;/additoryFee 为静态域。)2.什么是构造函数?构造函数有什么特点?子类如何调用父类?1 构造函数:构造函数用来处理对象的初始化。它是一种特殊的成员函数。构造函数名必须与类名相同,它不具有任何类型,不返回任何值。2 构造函数的特点:A 可以为对象的属性赋初值,还可以在对象初始化过程中进行必要的检查和处理。B 提高了编程的灵活性。3 子类调用父类:A 如果子类没有定义任何函数,那么就在创建子类对象
34、时将调用父类的无参数的构造函数B 如果子类自己定义了构造函数,则在创建子类对象时,系统将首先隐含执行父类无参数的构造函数,然后再执行子类自己的构造函数。C 如果在子类自己定义的构造函数中,利用super关键字显式的调用父类的构造函数,系统不再隐含父类的无参数的构造函数。PS:super的显式调用语句必须是子类构造函数的第一个可执行语句。3.如何定义数组,如何开辟数组空间?1 声明数组:声明数组主要是声明数组的名称和数组所包含的元素的数据类型或元素的类名。数组元素类型数组名 ;或 数 组 元 素 类 型 I J 数组名;例:int MylntArray;或 D200_Card L J Array
35、Of200Card;类也可以当作一个基本数据类型使用2 开辟数组空间:数组名=n ew 数组元素类型 数组元素的个数;例:int MylntArray J=new int 10;D200_Card ArrayOf200Card=new D200_Card 154,用内部类和当前类如何实现监听者?内部类:Public class Test exTends AppletButton bt;Public void init()bt=new Button(计算);add(bt);bt.addActionListener(new Button Act();)class ButtonACT impleme
36、nts ActionListener 内部类Public void actionperformed(ActimEvent e);b t的事件处理当前类:Public class Test extends Applet implements ActionListenerButton bt;Public void init()!bt=new Button(计 算 )add(bt);Public viod actionPerformed(ActionEvent e)/b t的事件处理5.有哪几种布局?每种布局的情况如何,如何使用?1 FlowLayout布局:组件在一行中从左至右水平排列,排满后折行
37、。A 加入组件:add(组件名);B 将布局改为FlowLayout;使 用 SetLayout(new FlowLayout();语句。也可以使用下列两种构造函数。1 FlowLayout(int align,int hgap,int vgap)Align:每行的对齐方式:LGFT,CENTER,RIGHTHgap:横向间距(单位是像素)Vgap:纵向间距(单位是像素)2 FlowLayout(int align)横纵向间距固定为5 个像素。2BorderLayout布局:组件按北南东西几个位置排列,规定各组件间的横纵距都为0;其他都如1 中使用3 GrrdLayout:以行和列的网络形式或
38、安排组件指定化分网格:setLayout(new GirdLayout(行数 列 数);加入一个空的标签:add(newLable()4 CardLayout:每一个组件为一个卡片容器仅显示其中一张卡片A 创造对象:MyCard=new CardLayout()B 指定布局属性:setLayoul(Mycard)C 加入组件:add(字符串,组件);D 显小:show(容器名,字符串);此外:first(容器名):显示第一个组件Last(容器名):显示最后一个组件Previous(容器名):显示前一个组件Next(容器名):显示下一个组件。6.简述JAVA事件的处理机制7.什么是容器组件?(P
39、onel与 Frame的扩展)Ponel与容器事件:Ponel属于无边框容器。Ponel是 Container的子类。它是最简单的容器,它没有边框或其他可视边界,不能被移动,放大缩小或关闭。Ponel总是作为一个容器组件被加入列其他的容器中,Ponel也可以包含另一个 PonelFrame可以作为一个 Application的最外层容器,也可以被其他容器创建并弹出成为独立的容器,Frame容器的方法有:1 getTitle()和 setTitle(string)2 setVisible(boolean)方法 3 dispose()方法8.String类的构造函数及其使用方法1 Public s
40、tring()这个构造函数用来创建一个空的字符串常量2 Public string(Sting value)利用一个已经存在的字符串常量创建一个新的String对象,该对象的内容与给出的字符串常量一致。3 Public string(string Buffer buffer)利用一个已经存在的String Buffer对象为新建的String对象初始化4 Public String(char value J)利用已经存在的字符数组的内容初始化新建的string对象Java的开发环境(1)、b in 目录:存放可执行文件。(2)、lib 目录:存放Java的类库文件。(3)、demo目录:存放演
41、示程序。(4)、jre 目录:存放Java运行环境变量。配置环境:用户变量是针对某一个用户的,而系统变量是针对整个电脑的。要加两个路径:(1)、path加 bin路径;并以分号隔开。(2)、classpath 加.;lib 的路径。Java数据类型分两个类别:(1)、原始数据类型。(2)、引用数据类型。原始数据类型Java关键字都是小写。Byte(字节型)8-128-127Boolean(布尔型)1 true/false引用数据类型:(1)、数组:具有相同数据类型的变量的集合。(2)、类:变量和方法的集合。(3)、接口:一个抽象类,其创建目的是为了实现Java中的多重继承。变量的作用域和生命周
42、期变量在作用域内为局部变量,所以在其作用域外不能使用.作用域可以嵌套。类型转换1、自动类型转换:(1)、两种类型必须兼容(2)、目标类型大于源类型。2、强制类型转换3、类型提升规则赋值运算符:可以将单个语句中赋给多个变量。从右向左执行。例:p=q=r=s=num.逻辑运算符:A:逻 辑 异:如两个值一样就为假.条件运算符 语法:Expression!?expression2:expressionsJava源文件的名与公共类名样包括大小写源文件最多有个公共类,源文件可以没有公共类,此时源文件名可以随意。数组仅声明:例:datetype identifier口声明和创建:例:datatype id
43、ent ifier=new datetypesizel;声明、创建和初始化:例:datetype identifier=value 1 ,value2,.valueN);命令行参数Args.length:能得到数组的长度。可以在命令行直接传数值给main。方法的String类型的数组args。对象:是存在的具体实体,具有明确定义的状态和行为。消息传递:本质上就是方法的调用(?)消息:指个对象为执行特定操作而向另一个对象发送的请求。类类:是具有相同属性和共同行为的一组对象的集合。类的属性:对象或实体拥有的特征在类中表示时成为属性。对象执行的操作称为方法。类和对象的区别类是用来描述实体的“模 板”
44、或”原 型“,而对象是实际的实体。封装隐藏属性、方法或实现的详细信息的处理方式称为封装。抽象它是指只关注对象的重要细节,而忽略对象的次要细节。通过抽象简化软件的复杂性。抽象分:(1)、数据上的抽象(2)、过程上的抽象。将实体的相关属性和操作根据特定的应用程序进行标识和分组的过程就是数据抽象。在 Java中实现类语法如下:Class)类中的方法语法:(,)调用方法类似于调用或引用实例变量。方法可是使用点操作符来访问。方法被调用的对象在圆点左边,而方法的名称在圆点右边。例如:Obj.isAvailable();构造方法Pixel p=new PixelQ;Pixel():是类中的构造方法。是 ne
45、w出来的东西都是引用类型。构造方法是只要在创建给定类的实例时就调用的一个方法。它们与类同名,但不具备任何返回类型。构造方法的特点:(1)、跟类名相同。、没有任何返回值。(3)、构造方法只能用new来调。(4)、构造方法一般不只一个,就构成了重裁。构造方法类型:(1)、参数化构造方法。(2)、隐式/默认构造方法。当 个类未定义构造方法时,Java虚拟机(JVM)便提供个默认构造方法,它不带任何参数,其主体不含任何语句,这种构造方法称为隐式构造方法。类中声明构造方法,类不会再自动添加了.主要用途:1、包允许将类合成为较小的单元,使其易于中找到和使用相应的类文件。2、有助于避免命令冲突。创建包:pa
46、ckage pkg;创建包前面一般加上公司的域名例如:package cn.qingdao.slt23;自动使用包名创建一个文件,并自动将。Class文件存放在此文件夹中。例:javac-d c:java Calculate.java导入包:import package_name.*;如果使用的类是来自不同的包,且没有使用import语句导入该包,则需要在代码中指明使用类隶属的包。方 法 是 使 用 来 访 问 中 的 成 员。例如:Mypackage.Calculate calc=new mypackage.Calculate();知识扩展:课后作业题2、(1)、两个类建在一个文档下面执行的
47、时候问什麽不成功?解:不能进入包中运行类。运行的方法是在包外加包前缀运行。例:Java parent.child.ParentTest(2)、用点星导进所有类问什麽出现错误?解:是因为JAVA程序错把.JAVA源文件当成.class字节码,而无法编译。只需把源程序提出包就可以了。面向对象的特点:(1)封装。(2)、继承。(3)、多态.继承主要有点:代码的可而用性。使用关键字extends来继承类。一个类一经定义和调试,便可以用来创建新的子类的对象中,子类Car、Ship和 Plane具有与父类相同的属性和方法。子类构造方法构造方法用于初始化特定类型的对象并分配内存,构造方法的名称与类名相同。创
48、建对象时会自动调用构造方法。类似地,子类的构造方法的名称也与子类名相同,创建子类的对象时将调用此构造方法。需要注意的是,子类永远不会继承父类的构造方法除了构造方法之外,父类的所有方法和属性都山子类的对象继承。创建子类的对象时,它将会包含父类的所有方法和属性。父类的值应该正确地初始化,这一点非常重要。子类构造方法可以调用父类构造方法。需要注意的是,父类构造方法的调用总是先于子类构造方法的调用。另一方面,通过使用关键字super,程序员还可以从子类构造方法中调用父类中默认构造方法或或带参数的构造方法。调用父类调用父类构造方法的语句应该为子类构造方法中的第个语句这是因为父类先于子类存在。例:aupe
49、r(parameter_list)or super();多态性函数不能嵌套,也就是函数内部不能出现函数。重载方法:参数列表不同(1)、数目不同(2)、参数类型不同。(3)、参数顺序不同。重写方法:在类体系结构中,当子类中的方法与其父类中的方法具有相同的方法时,则认为子类中的方法重写了父类中的方法。从子类中调用重写方法时,将总是调用出项在子类中的方法,而父类中的方法将被隐藏。多态性:一个子类有自己的属性,又有父类的属性。这种状态叫多态性。Super:(1)、子类的构造方法可用来调用父类的构造方法。(2)、调用己被重写的父类的方法(可以不是第一句)。访问修饰符1、public(公有):类 的 pu
50、blic成员可以被该类的成员和非该类的成员访问。可应用Jr类、方法、属性。2、private(私有):类 的 private成员只能被该类的成员访问,任何非该类成员的代码不能访问任何私有方法或变量。使用private访问修饰符的主要目的是隐藏数据。3、protected(保护):类的protected成员可以被该类的成员以及其子类的成员访问。它还可以被同个包内其他类的成员访问。4、(default):还有一种缺省(default)情况,就是类成员什么修饰符也没有的时候,只有它本身的类和在同一个包的类里可以访问它。位置privatedefaultprotectedpublic同一个类是是是是同一