java复习提纲

合集下载

JAVA 复习提纲

JAVA 复习提纲

Java复习提纲按照章节组织顺序,列出以下复习要点:第一章Java语言概述1.2节1、Java的六个特点简单,面向对象,平台无关,多线程,安全,动态2、Java的平台无关性原理,为什么可以“一次编写,到处运行”?在一个计算机上编译得到的字节码文件可以复制到任何一个安装了java运行环境的计算机上直接使用。

字节码由java虚拟机负责将字节码翻译成本地计算机的机器码,并将机器码交给本地的操作系统来运行。

3、理解JDK、JRE的概念和作用JDK:JAVA开发包(JAVA SE Development Toolkit),它包含了JRE,还包含了很多开发工具及资源,比如javac,javadoc,用语程序打包的jar等。

JRE:JAVA运行时环境(JAVA Runtime Environment),它主要由三部分组成:类加载器、字节码校验器、运行时执行引擎。

它除了包含JVM,还包括了其他一些底层的类库(API)。

1.4节1、Java程序的开发步骤编写源文件编译java源程序运行java程序2、编译器javac.exe和解释器java.exe的作用编译器javac.exe:编译源文件,得到字节码文件解释器java.exe:解释执行字节码文件3、源文件和字节码文件的后缀名源文件:*.java字节码文件:*.class1.5节1、区分主类和public类,同一个源文件中的public类命名规则?(1.5.1)一个java应用程序的源文件必须有一个类含有public static void main(String args[])方法,称这个类是应用程序的主类。

如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类名字完全相同,扩展名是.java。

2、掌握在当前目录下编译、运行例1.1的过程(1.5.2,1.5.3)第二章基本类型2.1节1、标识符的概念,能区分合法的标识符用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标示符。

java复习提纲

java复习提纲

1.数组的创建和初始化,数组的索引,对数组元素的要求,数组的长度2.Java源文件的相关问题:●编译:javac 文件路径---文件名.java●执行:java 文件路径---公共类名●一个原文件可编译出的class类的个数问题3.Java中类的定义基本要求:课本p29-33、●另外要能根据相关要求编写一个类的完整代码(包括成员变量、构造方法、类方法);●抽象类的相关内容●还要能书写接口创建和实现接口的完整代码;●Java中方法的重载和重写的区别p94,p98,p107—5.5小节● This、super 、final 关键字●第五章除了过时信息(5.12小节)外给我认真看!!!!4.Java的注释语句5.线程thread必须写run()方法,创建线程的两种方法6. Java的基本语法规范7. Java的编译执行过程8.Java访问控制四大关键字:9.GUI中 Frame和Panel的默认布局管理器10.异常处理的处理过程,try、catch、finally关键字试卷结构:一、选择题、15X2=30二、判断题 5X2=10三、填空题 15X2=30四、简答题 5X2=10五、编程题 10X2=20练习题一、选择题(每道题只有一个正确答案,每小题2分,共30分)15道题1、关于Java语言叙述错误的是:( C )A.Java语言具有跨平台性B.Java是一种面向对象的语言C.Java语言中的类可以多继承D.Java的垃圾收集机制自动回收程序已不再使用的对象2、以下叙述正确的是:( B )的确台aA.构造方法必须是public方法B.main方法必须是public方法C.Java应用程序的文件名可以是任意的D.构造方法应该声明为void类型3、关于Java中数据类型叙述正确的是:( B )A、整型数据在不同平台下长度不同B.boolean类型数据只有2个值,true和falseC.数组属于简单数据类型D.Java中的指针类型和C语言的一样4、设 int x=1,float y=2,则表达式 x / y的值是:( D )A.0B.1C.2D.以上都不是5、以下语句有语法错的是:( A )A.int x=1;y=2;z=3B.for (int x=10,y=0;x>0;x++);C.while (x>5);D.for(; ;);6、关于类和对象的叙述正确的是:( A )A.Java的类分为两大部分:系统定义的类和用户自定义的类B.类的静态属性和全局变量的概念完全一样,只是表达形式不同C.类的成员至少有一个属性和一个方法D.类是对象的实例化7、以下有关构造方法的说法,正确的是:( A )A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用D.构造方法可以和类同名,也可以和类名不同8、以下有关类的继承的叙述中,正确的是:( D )A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性9、下列属于容器的组件有:( B )A.JButtonB.JPaneC.CanvasD.JTextArea10、void 的含义:( C )A.方法体为空B.定义的方法没有形参C.定义的方法没有返回值D.方法的返回值不能参加算术运算11、关于Java中异常的叙述正确的是:( D )A.异常是程序编写过程中代码的语法错误B.异常是程序编写过程中代码的逻辑错误C.异常出现后程序的运行马上中止D.异常是可以捕获和处理的12、所有的异常类皆继承哪一个类?( C )A.java.io.ExceptionB.ng.ThrowableC.ng.ExceptionD.ng.Error13、下面哪个不是java语言中的关键字?( B )A.longB.sizeofC.instanceofD.const14、为实现进程之间的通信,需要使用下列那种流才合适?(D) A.Data streamB.File streamC.Buffered streamD.Piped stream15、在复选框中移动鼠标,然后单击一选项,要捕获所选项必需实现哪个接口?(D)A.ActionListenerB.MouseListenerC.MouseMotionListernD.ItemListener二、填空题(每空1分,共20分)1、面向对象程序设计所具有的基本特征是:___抽象性___,_封装性___,_继承性__,_多态性__2、数组x定义如下int x[ ][ ]=new int[3][2]则 x..length 的值为____3________,x[0].length 的值为_____2_______。

《Java-软件开发基础》复习提纲

《Java-软件开发基础》复习提纲

《Java 软件开发基础》复习提纲1. Java 语言的特点:面向对象、简单、平台无关性、健壮性和安全性、分布性、多线程、动态性、解释型2. Java 程序的类型:Application、Applet、JSP/Servlet3. 环境变量a) ApplicationI. javac HelloWorld.javaII. java HelloWorldb) AppletI. Javac HelloWorldApplet.javaII. appletviewer HelloWorldShow.html5. Java 标识符、关键字a) 标识符I. 用来唯一地标识 Java 程序中的各种成分的名称,包括类名、对象名、方法名、常量名和变量名II. 由字母、数字、下划线(_)和($)符号组成,但是标识符的第一个字符不允许为数字III. 长度不限,区分大小写,为提高可读性应使用有意义的名称b) 关键字(保留字)I. Java 语言为特殊目的而保留的由 ASCII 字符构成的字符串II. 关键字都有特定含义,只能用于特定位置,不能作为标识符使用III. 有些关键字尚未使用,如 goto, const 等IV. 有些非关键字如 true 和 false 也不能作为标识符使用6. 数据类型(基本类型和引用类型及区别)、类型转换a) 数据类型I. 确定了该类型数据的取值范围,由所占存储单元的多少而决定II. 确定了允许对这些数据所进行的操作III.分类1. 基本数据类型a) 由 Java 语言定义,编译器可以理解,不需要外部的程序b) 占用内存的大小固定c) 数据存储在栈内存中d) 分类I. 整数类型:byte(1 Byte)、short(2 Byte)、int(4 Byte)、long(8 Byte)II. 浮点类型:float(4 Byte)、double(8 Byte)III. 字符类型:char(4 Byte)IV. 布尔类型:boolean(1 bit)a) JAVA_HOME:JDK 的安装路径(C:\ProgramFiles\Java\jdk1.7.0_04\)b) Path:Java 的编译器等 JDK 可执行文件的路径(C:\Program Files\Java\jdk1.7.0_04\bin)c) Classpath:JVM 运行时所需加载的类字节码文件的路径(.)4. 编译和执行一个 Java 程序的命令2. 引用数据类型a) 由类库开发者和程序员定义,占用内存的大小不固定b) 数据存储在堆内存中,通过栈内存中的引用类型变量访问c) 引用类型变量的值为数据在堆内存中的地址d) 分类:类(class)、接口(interface)、数组[]b) 类型转换隐式类型转换:byte → short → char → int → long → float → double显式类型转换:(<类型名>)<表达式>II.7. 各种运算符、优先级、结合性a) 成员运算(.)、数组下标[]、括号():自左至右b) 单目运算(++)(--)(-)(!)(~):右/左c) 分配空间(new)、强制类型转换(type):自右至左d) 算数乘(*)、除(/)、求余(%)运算:自左至右(左结合性)e) 算数加减运算(+)(-):自左至右(左结合性)f) 位运算(<<)(>>)(>>>):自左至右(左结合性)g) 小于(<)、小于等于(<=)、大于(>)、大于等于(>=):自左至右(左结合性)h) 相等(==)、不等(!=):自左至右(左结合性)i) 按位与(&):自左至右(左结合性)j) 按位异或(^):自左至右(左结合性)k) 按位或(|):自左至右(左结合性)l) 逻辑与(&&):自左至右(左结合性)m) 逻辑或(||):自左至右(左结合性)n) 条件运算符(?:):自右至左(右结合性)o) 赋值运算(=)(*=)(/=)(%=)(+=)(-=)(<<=)(>>=)(>>>=)(&=)(^=)(|=):自右至左(右结合性)8. 选择和循环语句、break 和 continue 语句a) 循环语句:基本同 C++b) 跳转语句当程序中有嵌套的多层循环时,为从内循环直接退出外循环,可使用带标号的break label 语句,此时应在要退出的外循环的入口语句前方加上 label 标号。

Java复习提纲word.doc

Java复习提纲word.doc

1.java虚拟机的概念Java虚拟机(Java Virtual Machine , JVM)由Java解释器和运行平台构成,可以解释和运行java 字节码文件,它的作用类似CPU,负责执行指令,管理内存和存储器,因此也看成是软件模拟的计算机。

2.Java语言的特点①简单②面向对象③分布式④健壮⑤结构中立⑥安全⑦可移植性⑧解释性⑨多线程⑩动态4.java源程序的特点:java是一个普通的文本文件;编译后的特点:字节码文件(.class)是一种中间代码,不能直接运行,需要由java解释器来运行。

4.Integer的数据类型转换:Integer.parsrIn(string s)//字符串转换为整形的数值double的数据类型转换:double.toString(double d)//双精读浮点型转换为字符串double.parse double(string s)//字符串转换为双精度浮点型数据5.数组的概念:数组是Java语言中的一种引用数据类型,他是由类型相同的元素组成的有顺序的数组集合定义数组不能直接定义维数,例int a=[10]是错的,,基本类型变量默认值为0,例a[2]=0。

判断数组的长度:b.length6.7. 常量是程序运行过程中不变的量,用关键字final 来声明。

8.①.空字符串的创建可以使用②直接赋值创建字符串:string s =“China”;③使用原有的string对象创建字符串string s1=“a b c”;string s2=new string(s2);④使用字符数组创建字符串:string (char chars[ ]);string(char chars[ ],int offset,int length);⑤使用字节数组创建字符串:string (byte bytes[ ]);string(byte bytes[ ],int offset,int length);⑥用string Buffer sb =new stringBuffer(“a b c ”);string str =new string(sb);string srt1=sb.to string( );9.字符串的比较:①String s1=new String(“”abcd”);String s2=new String(“”abcd”);s1=s2;//只是比较对象(地址)②S1.equals(s2);//s1与s2相比较③S1.length();//判断字符串的长度11.switch之后括号内的表达式必须兼容int,可以是byte,short,int,char以及枚举类型,不能是长整型或其它任何类型。

2024JAVA期末复习提纲

2024JAVA期末复习提纲

2024JAVA期末复习提纲一、Java基础知识1. Java的发展历程和特点2. Java的编译与运行过程3. Java开发环境的搭建4. Java基本语法和语句5.数据类型和变量6.运算符和表达式7.流程控制语句8.数组和字符串9.类和对象10.方法和函数11.异常处理12.输入输出流13.类的继承和接口的使用二、面向对象编程1.面向对象编程的基本概念和特点2.类与对象的关系3.类的成员变量和成员方法4.封装、继承和多态5.抽象类和接口的使用6.类的组合和关联7.内部类和匿名类的使用三、集合框架和泛型1.集合框架的基本概念和作用2.集合框架中的集合类和接口3. ArrayList、LinkedList、HashMap的使用4.迭代器和遍历集合5.泛型的概念和使用6.自定义泛型类和泛型方法四、多线程编程1.进程和线程的概念2.线程的创建和运行3.线程的同步和协作4.线程的基本方法和常用类5.线程池的使用五、网络编程1.网络编程的基本概念和原理2. Socket编程3.客户端和服务器的交互4. URL和URLConnection的使用5. HTTP协议和Servlet编程六、数据库编程1.数据库的基本概念和原理2.JDBC的概念和使用3.数据库的连接和操作4.SQL语句的编写和执行5.数据库事务的处理七、图形用户界面编程1. AWT和Swing的概念和特点2.GUI组件的使用3.事件处理和监听器4.布局管理器的使用5.图形界面设计和实现八、Web开发1.HTML和CSS的基本概念2. JavaScript的应用3. JSP和Servlet的概念和使用4.MVC设计模式5. Web应用的部署和调试以上是2024JAVA期末复习的提纲,按照这个提纲复习,应该能够对Java的基础知识、面向对象编程、集合框架和泛型、多线程编程、网络编程、数据库编程、图形用户界面编程和Web开发有一个较全面的了解。

希望能对你的复习有所帮助,祝你考试顺利!。

Java程序设计复习提纲

Java程序设计复习提纲

Java程序设计复习提纲单元一Java语言入门1、Java的发展:Java是从哪种语言发展而来的?C/C++2、Java语言的特点:简单、面向对象、平台无关性、解释型、安全、多线程、动态3、Java语言的工作机制:Java源程序通过编译器编译成“字节码”的目标代码。

字节码文件可以在提供了“Java虚拟机(Java Virtual Machine,JVM)”的任何一种系统上解释执行。

4、如何设置环境变量:如PATH = D:\jdk1.6\bin; CLASSPATH = D:\jdk1.6/lib/tool.jar;.;5、Java程序的分类:Java应用程序(Java Appllication)、Java小应用程序(Java Applet)6、Java应用程序的开发过程:(1)编写源文件(*.java) (2)编译Java源文件javac 源文件(字节码文件*.class) (3)运行Java程序j ava 主类名7、Java小应用程序的开发过程:(1)编写源文件(*.java)(2)编译Java源文件javac 源文件(字节码文件*.class) (3)编写并保存一个超文本文件(*.html)(4)运行Java Applet程序使用浏览器打开文件或使用appletviewer来调试。

8、源文件的命名规则:(1)若源文件中有多个类,则只能有一个类是public类。

(2)若有public类,则源文件的名字必须与这个public类的名字完全相同,扩展名是.java。

(3)若源文件无public类,则源文件的名字只要和某个类的名字相同,且扩展名是.java。

单元二Java语言基础1、标识符的命名规则:(1)由字母、数字、下划线(_)、美元符($)组成,但必须以字母、下划线和美元符开始。

(2)不可与关键字重复。

(3)区分大小写2、Java数据类型的分类:(1)基本类型:整型(byte、short、int、long)实型(float、double)字符型(char)布尔型(boolean)(2)引用类型:数组类(class)接口(interface)3、基本类型的内存分配情况:byte:1个字节、short:2个字节、int:4个字节、long:8个字节、char:2个字节4、基本数据类型的转换原则:(1)基本数据类型按精度级别由低到高的顺序是:byte short int long float double(2)当把级别低的变量值赋给级别高的变量时,系统自动完成数据类型的转换;(3)当把级别高的变量值赋给级别低的变量时,必须使用显示类型转换运算。

java复习提纲(最新)

java复习提纲(最新)

简答题:1.java跨平台性工作特性基本原理。

答案:java是一种具有平台独立性的编程语言,Java源程序编译后生成与具体机器指令无关的字节码,通过Java虚拟机(JVM)在不同的平台上运行。

Java的基本数据类型在设计上不依赖于具体硬件,为程序的移植提供了方便。

2.面向对象的三大特征,并说明这三大特征的含义很作用。

答案:三大特征:继承、多态、封装继承:特殊类的对象拥有其一般类的全部属性与方法。

封装:就是把对象的属性和方法结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。

多态:指具有继承关系的情况下,父类的变量可以指向子类的对象,(加上:且父类变量的调用相同的方法时。

具有多种不同的状态或形态)3.构造方法和其他方法有什么不同。

答案:(1)方法有返回类型,方法名小写,不能和类名相同;构造方法没有返回类型,void 也不行,名与类名相同。

(2)构造方法是初始化对象的重要途径,(所以就算你给一个类没有定义构造方法,方法在这个类的加载得时候,会自动提供一个没有参数的构造方法。

【删除】),而一般方法不行(3)他们运行顺序不同。

没有调用任何父类,也没有实例化父类,但是构造方法却执行了。

(4)方法仅仅是类成员,构造方法也是类成员,但是构造方法有对类属性得初始化的功能。

4.方法重载和覆盖各自的涵义、作用和区别。

答案:涵义:方法的重载是实现多态性的一种方式,是一个类中含有许多同名的方法,且带有不同的参数列表。

方法覆盖是指子类的方法与父类的方法具有完全相同的方法名、返回类型、参数表。

作用:重载的作用在于它允许通过使用一个普通的方法名来访问一系列的相关方法。

覆盖的作用将超类的状态和行为改变为自身的状态和行为。

区别:相同点:(1)都要求方法同名。

(2)都可以用于抽象方法和非抽象方法之间。

不同点:(1)方法覆盖要求参数签名必须一致,而方法重载要求参数签名必须不一致。

(2)方法覆盖要求返回类型必须一致,而方法重载对此不做限制。

Java复习提纲

Java复习提纲

第一章:Java语言概述Java的特点(注意:Java对内存空间的分配与回收机制)特点:1、平台无关性2、面向对象:封装、继承、多态3、多线程4、安全5、动态Java的内存分配有三种:1、静态存储区:内存在程序编译时就分配好了,比如静态变量;2、栈区:各种原始数据类型的局部变量都是在栈上创建的,当程序退出该变量的作用范围的时候,这个变量的内存会被自动释放。

3、堆区:对象(包括数组)都是在堆中创建的。

程序在运行的时候用new 关键字来创建对象,对象创建时会在堆中为其分配内存。

Java的垃圾回收机制最为Java语言的一大特性,将Java堆空间内存的释放交给JVM自动处理,无须开发人员在程序中显示调用,从而避免了因为开发人员忘记释放内存而造成的内存溢出。

Java运行平台1.jdk与jre的作用、区别以及安装目录JRE是java运行时环境,包含了java虚拟机,java基础类库。

是使用java语言编写的程序运行所需要的软件环境,是提供给想运行java程序的用户使用的。

JDK是java开发工具包,是程序员使用java语言编写java程序所需的开发工具包,是提供给程序员使用的。

JDK是整个Java的核心,包括了Java基础类库、Java运行环境(JRE)和Java开发工具。

区别:JDK包含JRE,如果只是要运行Java程序,则只需安装JRE,无需安装JRE。

如果要做Java开发则必须安装JDK安装目录:p 6Java程序开发:1.应用程序与Applet程序的开发过程与区别一.结构上的区别(1)运行方式不同。

Java Application,可以独立运行(有java 虚拟机的地方他都可以运行)。

Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。

(2)运行工具不同。

运行Java Applet程序的解释器不是独立的软件,而是嵌在浏览器中作为浏览器软件的一部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

考试题型:①选择题(参考下面知识提纲)、②填空题(基本的概念、补全程序、输出结果)、③简述题(比如写出运行程序运行结果、解释某段代码的意思)、④编程题关键知识点:1、标识符1. 标识符定义用来标识类名、变量名、方法名、类型名、数组名和文件名等的有效字符序列称为标识符。

2. 标识符组成标识符是由字母、下划线(_)或美元符号($)开头,由字符、数字、下划线(_)或美元符号($)组成的字符串。

标识符区分大小写,长度没有限制。

除以上所列几项之外,标识符中不能含有其他符号,当然也不允许插入空格。

其首字符必须是java字母。

一些合法的标识符如例1所示。

例1:identifier 、猫、User_name 、$change标识符区分大小写,所以Username、username和userName是三个不同的标识符。

一些非法标识符如例2所示。

例2:2Sum 、/ /以数字打头、class 、//关键字、#myname、//含有其他符号#2、基本数据类型的强弱关系Byte<short<int<long<float<long例如:弱的数据类型直接赋值给强的数据类型long x=2 正确强的转换成弱的有精度损失,需要强制类型转换,例如int i=(int)5.6 正确例如float f=5.6 //编译出错,因为没有强制类型转换。

3、java中常用关键词的意思Enum 枚举、implements 实现接口、const 定义常量、instantof 测试一个对象是否是指定类的实例对象、package 创建包,等等。

4、基本数据类型的相关概念boolean表示布尔类型,只有两个值:true和falseint表示整数类型float表示单精度浮点数0.1f、.1f、-.05e3fdouble表示双精度浮点数 5.6、100d、-5.e3在java中用了取大原则,当看见小数的时候,比如5.6默认是double类型,所以float f=5.6 是错误的5、熟悉进制的表示:比如十六进制以ox开头,八进制以o开头。

八进制表示:以0作为前缀,数码有0,1,2,3,4,5,6,7,逢8进位如:8(十进制)-->010(八进制) 再如028非法,因为数码只有到7;十六进制表示:以0x作为前缀,数码有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,逢16进位如:16(十进制)-->0x10(十六进制)6、java中,字符对应的整数值a=97 b=98……类推;A=65……例如int x=”a”-“b” 其值为整数1;7、了解常用的java类例如:Object类ng.Object类是所有java类的最高层次父类,该类提供了面向对象编程技术的基本机制。

重要方法列表:hashCode()方法toString()方法equals()方法finalize()方法clone()方法wait()方法notify()/notifyAlly()方法System类:System类是ng包中的,使用前不用导入。

System类的方法都是静态的,不用创建实例,直接使用System类名来调用。

例如:age=20;System.out.println(“我的年龄是:”+age);String类ng.String类对象表示不可修改的Unicode编码字符串.方法说明:构造方法字符串、连接、转换和截断:concat()、replace()、substring()、toLowerCase()、toUpperCase()、trim()检索和查找功能:charAt()、startWith()、indexOf()、lastIndexOf()、length();内容比较:equals()、equalslgnoreCase()、compareTo()StringBuffer类StringBuffer类对象保存可修改的Unicode字符序列MouseListener接口实现鼠标事件的监听(教材291),方法如下:Public void mouseClicked(MouseEvent e);Public void mousePressed(MouseEvent e);Public void mouseEndered(MouseEvent e);Public void mouseExited(MouseEvent e);Math类ng.Math类提供常用数学功能和数学常量:Exception类是程序处理的异常对应的类及其子类;8、①类的类体包括了变量的定义和方法的定义;②多态(掌握重载和重写);重载-------Java的方法重载,就是在类中创建多个方法,它们具有相同的名字,但具有不同的参数个数或参数类型。

调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法, 这就是静态多态性。

重载的时候,方法名要一样,但是参数类型和个数不一样,返回值类型可以相同也可以不相同。

无法以返回型别作为重载函数的区分标准。

(方法重载三中形式:1.参数类型不同2.参数列表不同3.参数顺序不同))例如:一. int delete(String x1, String x2) 二. int set(int x,String s)void delete (String x, String y) int set(String s,int x)一.不是重载,因为参数类型、个数、顺序完全一样二.是重载,不同类型的顺序不一样重写-------若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。

如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

例如在子类A中实现print()方法的重写(请认真分析教材73页案例)class Test {void print() {System.out.println("hello Test");}public static void main(String []args) {A a=new A();a.print();} }class A extends Test {void print() {System.out.println("hello A"); //在子类中实现父类方法print()的重写} }③this与super (更多参见教材75页)super(参数):调用基类中的某一个构造函数(应该为构造函数中的第一条语句)this(参数):调用本类中另一种形成的构造函数(应该为构造函数中的第一条语句)This 用法:(1)普通的直接引用;(2)方法中的某个形参名与当前对象的某个成员有相同的名字时用this区分,有this引用的是成员,没有this 的是形参。

(3)引用构造函数。

Super:调用super()必须写在子类构造方法的第一行。

"super.x"代表从父类继承下来的但被隐藏的x值。

比如通过super调用父类的protected修饰的函数。

注意:(1)this和super不能同时出现在一个构造函数中;可以用this调用一个构造方法,但不能调用两个。

(2)this()和super()都指的是对象,所以均不可以再static环境中使用。

1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.class Base {Base() {System.out.println("Base");}}public class Checket extends Base {Checket() {super();//调用父类的构造方法,一定要放在方法的首个语句System.out.println("Checket");}子类与父类之间的转换(见教材68页):可以认为子类的对象也是父类的对象;反过来,由父类的构造方法创建的实例对象一般不是子类的实例对象。

9、表达式表达式------由运算符和变量、常数或常量组成的式子称为表达式。

例如2+3,a*b,++a,b--,a*=b,a+++(++b)等。

表达式是组成程序的基本单位,也是程序运算时的基本单位。

还有一些基本的运算符号应该会运用,比如:条件与&&,条件或||,逻辑与&和逻辑或|,其中&&与&以及||与|运算结果完全相同。

10、包的定义与导入包比如:package com.beifang //定义一个包Import java.Swing.* //导入需要用到的包注意:在同一个文件中可以定义多个类,但是只能是一个public类,其他是默认类。

对于一般类(非内部类)来说,private 和protected 这两个修饰语都是没有意义的11、java的基本概念例如:java源文件的后缀是.java,编译后的后缀是.class编译java指令,javac,运行指令javaC#、Java是纯面向对象的程序设计语言。

纯面向对象的程序设计语言编写的程序必须以类为基本单位,所有功能都封装在类中,真正实现数据(如数据成员)和业务(如各类方法)的封装。

12、数组数组的定义包括静态与动态,例如:静态定义:int[] numbers = {1, 2, 3, 4, 5};动态定义:int size = 5;int[] numbers = new int[size];for (int i = 0; i < size; i++) {numbers[i] = i + 1;}13、Equal与==的主要区别✧==:主要比较对象的地址值✧比如2个字符串对象String s1 = new String("str");String s2 = new String("str");如果用==号比较,会返回false,因为创建了两个对象,他们在内存中地址的位置是不一样的。

✧Equals----它是ng.Object类中的一个方法。

因为java中所有的类都默认继承于Object,所以所有的类都有这个方法。

在Object类源码中是这样写的。

public boolean equals(Object obj) {return (this == obj);}他同样使用==号进行内存地址的比较。

equals方法具体的作用要看当前的那个类是如何实现重写父类中该方法的。

如果没有重写该方法,那么他和==号等价。

14、字符串池在该字符串池中,具有相同字符串序列的字符串值对应一个字符串实例对象。

举例:String s1 = "hehe";String s2 = "hehe";String s3 = new String("hehe");if(s1 == s2){System.out.println("s1 == s2");}else{System.out.println("s1 != s2");}if(s1 == s3){System.out.println("s1 == s3");}else{System.out.println("s1 != s3");}结果:s1 == s2s1 != s3说明String s1 = "hehe"; //查找字符串,发现没有,创建字符串"hehe",让s1 指向它String s2 = "hehe"; //查找字符串,发现有,直接s2指向它String s3 = new String("hehe"); //直接另外创建一个字符串"hehe"这时候s1 s2指向同一个地址,这个地址保存的内容是字符串"hehe" s3指向另外一个地址,内容是"hehe"15、构造函数构造函数的名字必须和类名完全相同,构造函数不能有返回值,就是void 也不要写,构造函数不可以被子类继承构造函数可以重载但是不可以被子类覆盖。

相关文档
最新文档