




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JAVA复习知识点整理1、 类是构成Java程序的基本单位,程序中不允许单独出现任何方法,也就是说,Java程序中出现的变量、方法都必须申明在类的内部。这些变量和方法称为类的成员变量(属性)和成员方法,统称为类的成员。在方法的内部也可以申明变量,这样的变量称为局部变量。2、 习惯:类名首字母大写,变量/方法名首字母小写。类是一种数据类型。因此,无论是预定义类还是自定义类,在程序中我们都可以用它们来申明变量的数据类型、或者作为方法的返回类型。3、 一个Java源文件可以同时包含多个类的申明,但是其中最多只能有一个用public修饰的类,即共有类。源文件的名称必须和公有类的名称相一致,包括大小写 。源程序保存在后缀名为 .java的文件中。4、 Java引用类型成员变量默认初始化原则:5、 类中申明的方法(包括属性)是不能被直接调用的(当然静态方法除外),必须由对象进行调用。语句Person p = null; 表明变量p不指向任何对象,这时语句p.setAge(18);语法上是正确的,但是在运行时将会产生错误。任何对象总是有对应的数据类型,也只能由相应类型的变量来引用,否则将产生语法错误。6、 Java中的每个类都有构造方法,构造方法具有和类名相同的名称,而且不返回任何数据类型。构造方法一般对成员变量赋一些初值;如果一个类没有声明构造方法,Java自动为该类生成一个默认的无参的构造方法,并且该默认构造方法的内容为空。即,Java类可以通过两种方式获得构造方法:(1)使用系统默认的无参构造方法;(2)显式定义一个或多个构造方法。一旦显式定义了构造方法,系统不再提供默认构造方法;一个类可以有多个构造方法,根据参数的不同决定执行哪一个。 7、 Encapsulation:类的属性通常定义为私有属性(private),主要是为了保证程序逻辑的正确性。也就是说,如果要访问该对象的属性或者对其进行操作,必须通过相应的方法才能访问,这些方法又分为set方法(setters)和get方法(getters) 。这通常称为Information Hiding,也称为封装。可以保证程序逻辑的正确性;可以增加程序的可维护性。 8、 引用类型数据以对象的形式存在。引用类型变量的值是某个对象的句柄(对象在内存中的地址),而不是对象本身。声明引用类型变量时,系统只为该变量分配引用空间,并未创建一个具体的对象。9、 属性变量:在方法体外定义的变量,只要对象存在,其属性变量就存在;局部变量:在方法体内定义的变量,也称为stack variable,方法执行时存在,方法执行完毕后消失。局部变量在使用前必须进行初始化,而属性变量可以不需要显式进行初始化,因为在创建对象时会进行默认的初始化。10、同一个包内的类是相互可见的,但是如果需要用到位于另外一个包内的类的话,必须使用import语句申明。语法:import 包名.类名;或者import 包名.*;如:import shipping.domain.Company;11、标准类除了java.lang之外,其余类包都不是java语言所必须的。任何java程序都将自动引入java.lang包。12、(1)类的访问控制符包括public和缺省的。public修饰的类可以在任何地方访问,而缺省的访问控制符只运行同一个包中使用。通常类的访问控制符都写成public,如果你希望对他的访问进行限制,可以使用缺省的访问控制符。下面的例子展示了4中访问类型:package ch11;public class Apublic String id;public String getId()return id; / 在类内部访问成员变量id,实际上是类自己的方法package ch11;public class Bpublic String getInf(A a)return a.id; / 同包中的类B中的方法访问类A的成员package ch11;public class C extends Apublic String getId()return id; / 子类直接调用父类的方法或者属性package ch12;public class Dpublic String getInf(A a)return a.id; / 不同包中的类D中的方法访问类A的成员(2)成员的访问控制符成员的访问控制符有4种:public、 缺省的 、protected 和private。如果访问控制符是public,则上卖弄的4种情况都可以。如果访问控制符是缺省的,则第一种情况可以,同包的情况也可以。如果访问控制符是protected,第一种情况可以,子类的情况也可以。如果访问控制符是private,则只有第一种情况可以。下面的表格是显示了具体的访问是否允许的情况:类自身子类同包不同包非子类publicOKOKOKOK缺省的OK同包OKOKprotectedOKOKOKprivateOK13、数组对象必须通过new关键字创建14、Java 编程语言提供 wrapper 类来操作作为对象的原始数据元素。每个 Java 原始数据类型在 java.lang 包中具有相应的 wrapper 类。 使用 wrapper 类的示例: int pInt = 420;Integer wInt = new Integer(pInt); / this is called boxingint p2 = wIValue(); / this is called unboxing15、super关键字:在Java类中使用super来引用父类的成分,super可用于访问父类中定义的属性,super可用于调用父类中定义的成员方法,super可用于在子类构造方法中调用父类的构造,super的追溯不仅于直接父类。在子类的构造方法中可使用super(argument_list)语句调用父类的构造方法。如果子类的构造方法中没有显示地调用父类构造方法,也没有使用this关键字调用重载的其它构造方法,则系统默认调用父类无参数的构造方法。如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错。14、Java程序的执行过程中如出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统,这个过程称为抛出(throw)异常;当Java运行时系统接收到异常对象时,会寻找能处理这一异常的代码并把当前异常对象交给其处理,这一过程称为捕获(catch)异常;如果Java运行时系统找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。程序员通常只能处理违例(Exception),而对错误(Error)无能为力。getMessage( ) 方法,用来得到有关异常事件的信息printStackTrace( )用来跟踪异常事件发生时执行堆栈的内容15、字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外的区别:实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件。16、如果一个类变量的访问级别为public,那么可以通过类直接访问该静态变量,在静态方法中,只能访问同一个类中的静态成员,否则会产生编译错误17、在同一个类中可以定义多个同名方法-方法重载。重载方法的参数列表必须不同。构造方法重载,参数列表必须不同,可以在构造方法的第一行使用this关键字调用其它(重载的)构造方法18、Object类是所有Java类的最高层父类,Java只支持单继承,不允许多重继承。19、在子类中可以根据需要对从父类中继承来的方法进行改造-方法的重写,重写方法必须和被重写方法具有相同的方法名称、参数列表和返回值类型,重写方法不能使用比被重写方法更严格的访问权限。20、多态-在Java中,子类的对象可以替代父类的对象使用,一个对象只能有一种确定的数据类型,一个引用类型变量可能指向(引用)多种不同类型的对象。一个引用类型变量如果声明为父类的类型,但实际引用的是子类对象,那么该变量就不能再访问子类中添加的属性和方法。方法声明的参数类型为父类类型,可以使用子类的对象作为实参调用该方法。Student m = new Student();m.school = pku; /合法Person e = new Student(); e.school = pku;/非法21、this用法:(1)表示对当前对象的引用!(2) 表示所用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。(3)用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!22、虚拟方法调用(多态情况下)Person e = new Student();e.getInfo(); 23、instanceof是Java的一个二元操作符,和=,是同一类东西。由于它是由字母组成的,所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例,返回boolean类型的数据。可以用在继承中的子类的实例是否为父类的实现。相当于c#中的is操作符。24、equals()方法只能比较引用类型,“=”可以比较引用类型及基本类型;特例:当用equals()方法进行比较时,对类File、String、Date及封装类(Wrapper Class)来说,是比较类型及内容而不考虑引用的是否是同一个实例;用=进行比较时,符号两边的数据类型必须一致(可自动转换的基本数据类型除外),否则编译出错25、Object定义了一个toString()方法,它返回一个实例(对象)所属类的名称该对象在内存的地址;System.out.println(person);等价System.out.println(person.toString();26、在有些情况下,可以暂时不实现类的某个成员方法,这时可以用abstract关键字修饰类、以及相应的方法。不能对抽象类直接进行实例化。在子类中可以实现父类的抽象方法,只有子类实现(覆盖)了父类所有的抽象方法,那么才能创建子类的对象,否则子类仍然是一个抽象类,也就是说也需要用关键字abstract修饰。27、声明接口public interface extends public static final =; public abstract ();声明实现接口的类 implementsJava类只支持单继承,但是可以实现多个接口l 接口以及接口中成员的访问权限都是publicl 接口中的成员方法都是公有的、抽象的l 接口中所有的方法都必须被实现接口的类覆盖l 接口中的成员变量都是常量,声明时必须赋值l 接口不能被实例化 28、内部类:一个类可以申明包含另一个类,在GUI事件处理中会经常出现29、接口和抽象类的区别知道了,但实际应用中,其区别: (1)一个类可以实现任意多的接口,但是最多只能对一个抽象类进行子类化。 (2)一个抽象类可以包括非抽象方法,而一个接口的所有方法在效果上都是抽象的。 (3)一个抽象类可以申明并使用变量,而一个接口不行。 (4)一个抽象类中的方法的访问修饰符可以使public,internal,protected,protected internal,private,而接口成员的访问修饰符在默认情况下都是public,而且,在申明接口成员时,不允许使用访问修饰符(甚至不能使用public)。 (5)一个抽象类可以定义构造函数,而一个接口不行。30、任何一个JDBC应用程序,都需要以下四个步骤:(1)加载JDBC驱动程序(2)建立与数据库的连接(3)进行数据库操作(4)关闭相关连接 基本工作步骤:1. Load the JDBC driver class: Class.forName(“driverName”);2. Open a database connection: DriverManager.getConnection (“jdbc:xxx:datasource”);3. Issue SQL statements: stmt = conn.createStatement();stmt.executeQuery (“Select * from myTable”);4. Process result set:while (rs.next() name = rs.getString(“name”);amount = rs.getInt(“amt”); 30、java程序要显示的GUI组件必须是抽象类Component或MenuComponent的子类。Java的图形用户界面的最基本组成部分是组件,组件是一个可以以图形化的方式显示在屏幕上并能与用户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。31、容器(Container)实际上是Component的子类,因此容器类对象本身也是一个组件,具有组件的所有性质,另外还具有容纳其它组件和容器的功能。容器类对象可使用方法add()添加组件两种主要的容器类型 Window: 可自由停泊的顶级窗口 Panel:可作为容器容纳其它组件,但不能独立存在,必须被添加到其它容器中(如Window 或 Applet) 32、Java组件在容器中的位置和尺寸由布局管理器决定.如要人工控制组件在容器中的大小位置,可取消布局管理器,然后使用Component类的下述成员方法: setLocation() setSize() setBounds() 33、Frame类继承层次java.lang.Object +-java.awt.Component +-java.awt.Container +-java.awt.Window +-java.awt.Frame 34、public void setEnabled(boolean b): 设置组件的使能状态。参数b为真则组件使能,否则组件不使能。只有使能状态的组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025贵州省重点产业人才“蓄水池”第三批岗位专项简化程序招聘46人备考考试题库附答案解析
- 掌握春分季节
- 悦享安全劳动
- 中国电视剧海外传播趋势与展望报告
- 软件安全可信加固-洞察及研究
- 手指画恐龙课件教学
- 四川省泸州市泸县第五中学2025-2026学年高二上学期9月月考思想政治试卷
- 架线数字孪生建模-洞察及研究
- 百度房屋买卖解除合同范本6篇
- 广西钦州市十三中学2025-2026学年高三上学期第八周考试政治试卷(含答案)
- GB/T 19867.6-2016激光-电弧复合焊接工艺规程
- GB/T 19478-2018畜禽屠宰操作规程鸡
- 三级教育考试卷(焊工)答案
- 无生上课课堂教学评价标准
- 深圳低压电工作业-实际操作培训课件-科目四-作业现场应急处理
- 中控岗位培训课件
- 宾馆酒店前台责任书
- 2.2 第2课时 基本不等式的综合应用(课件)高一数学(人教A版2019必修第一册)
- 勿忘国耻教学课件
- 《中国音乐发展简史》PPT课件
- 生活老师管理制度(7)
评论
0/150
提交评论