java复习题
java复习题带答案

一、选择题:1.运行Java程序需要的工具软件所在的目录是 A。
A.JDK的bin目录 B.JDK的demo目录C.JDK的lib目录 D.JDK的jre目录解析:运行Java的JDK一共包含五个目录,分别是:bin目录,该目录包含Java编译器、解释器和许多工具(如服务器工具、IDL、package工具等);lib目录,该目录包含Java 库文件jre目录,该目录是Java程序运行环境的根目录,它下面包含 bin子目录,包括平台所用工具和库的可执行文件以及DLL文件;demo目录,该目录包含源代码的程序示例;include目录,该目录包含Win32子目录,都是本地方法的文件。
因此,本题的正确答案是A。
2.下列关于Java语言特点的叙述中,错误的是 A 。
A.Java是面向过程的编程语言 B.Java支持分布式计算C.Java是跨平台的编程语言 D.Java支持多线程解析:Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术:分布式计算:健壮性(鲁棒性);安全性;跨平台(即体系结构中立):可移植性:解释执行;高性能;多线程;动态性。
因此,本题的正确答案是A。
3.Java的核心包中,提供编程应用的基本类的包是 A 。
A.ng B.java.util C.java.applet D.java.rmi解析:Java的核心包一共有12个,其中:ng包中封装了所有编程应用的基本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;java.applet包为Applet提供执行需要的所有类,。
主要是访问Applet内容的通信类。
java.rmi包提供程序远程方法调用所需的类。
因此,本题的正确答案是A。
4.下列关于Java对import语句规定的叙述中,错误的是 C 。
A.在Java程序中import语句可以有多个B.在Java程序中import语句可以没有C.在Java程序中import语句必须有一个D.在Java程序中import语句引入在所有类定义之前解析:Java程序中使用import关键字导入一个包中的类。
JAVA复习题

JAVA复习题一、选择题:1. Java源程序经编译生成的字节码文件的扩展名为( )A. classB. javaC. exeD. html2. 以下定义一维数组的语句中,正确的是:( )A. int a[5]B. int a[]=new [5];C. int a[]; int a=new int[5];D. int a[]={1,2,3,4,5};3. 对于任意一个类,用户所能定义的构造方法的个数至多为()A.0个B.1个C.2个D.任意个4. 假设类A有构造方法A(int a),则在类A的其他构造方法中调用该构造方法的语句格式应为( )A. A(x)B. this. A(x)C. this(x)D. super(x)5.关于实例方法和类方法,以下描述正确的是:( )A. 实例方法只能访问实例变量B. 类方法既可以访问类变量,也可以访问实例变量C. 类方法只能通过类名来调用D. 实例方法只能通过对象来调用6.下列关于继承的说法哪个是正确的()A.子类只继承父类public方法和属性;B.子类继承父类的非私有属性和方法;C.子类只继承父类的方法,而不继承父类的属性;D.子类将继承父类的所有的属性和方法。
7、不允许作为类及类成员的访问控制符的是( )。
A. publicB. privateC. staticD. protected8、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )9、设有下面的两个类定义:class AA {void Show(){ System.out.println(“我喜欢Java!”);}class BB extends AA {void Sh ow(){ System.out.println(“我喜欢C++!”);}则顺序执行如下语句后输出结果为:()AA a; BB b;a.Show();b.Show();A、我喜欢Java!B、我喜欢C++!我喜欢C++! 我喜欢Java!C、我喜欢Java!D、我喜欢C++!我喜欢Java! 我喜欢C++!10、Java的字符类型采用的是Unicode编码方案,每个Unicode 码占用()个比特位。
Java复习题

Job1-11【填空题】Sun公司于年正式对外公布Java语言。
正确答案:第一空:19952【填空题】2007年11月,Google公司宣布推出基于Linux的开源智能手机操作系统,它使用Java 语言来开发应用程序,使用类似的Dalvik虚拟机来运行程序,这给了Java一个新的发展和推广机遇。
(英文单词请注意大小写,英文缩写全部大写)正确答案:第一空:Android;安卓第二空:JVM;jvm;Java虚拟机3【填空题】JVM是英文单词的缩写;JDK是英文单词的缩写,由JRE和编译、运行、调试Java应用程序的各种工具和资源包构成。
如果我们只想运行别人开发的Java程序,只需要安装即可JRE( ) 英文即可。
(英文单词之间只允许一个空格,首字母大写)正确答案:第一空:Java Virtual Machine 第二空:Java Development Kit第三空:Java Runtime Environment4【填空题】Java分为三个版本:、和。
(英文单词不加空格,注意大小写)正确答案:第一空:JavaEE 第二空:JavaME 第三空:JavaSE5【填空题】Java采用_____________和_______________合,实现了执行效率和可移植性的双重提高。
正确答案:第一空:编译第二空:解释6【填空题】Java程序运行的五个步骤:_______________、_______________、_______________、_______________、_____________。
(汉字)正确答案:第一空:编辑第二空:编译第三空:加载第四空:验证第五空:运行7【填空题】请列出Java程序的各种形态:_______________、______________、JSP/Servlet和JavaBean。
(英文单词首字母应大写)正确答案:第一空:Application 第二空:Applet8【填空题】一个Java源文件中可定义多个_____________和_____________,但public class/interface如果有的话只能定义一个,并且其类名与Java源文件名必须相同。
JAVA复习习题

类的继承习题一、选择题1. Java语言的类间的继承关系是( B )。
A) 多重的 B) 单重的 C) 线程的 D) 不能继承2. 以下关于Java语言继承的说法正确的是( C )。
A)Java中的类可以有多个直接父类 B)抽象类不能有子类C)Java中的接口支持多继承 D)最终类可以作为其它类的父类3. 现有两个类A、B,以下描述中表示B继承自A的是(D)。
A) class A extends B B) class B implements AC) class A implements B D) class B extends A4. 下列选项中,用于定义接口的关键字是( A)。
A)interface B) implements C) abstract D) class5. 下列选项中,用于实现接口的关键字是( B)。
A)interface B) implements C) abstract D) class6. Java语言的类间的继承的关键字是( B )。
A) implements B) extends C) class D) public7. 以下关于Java语言继承的说法错误的是( A )。
A)Java中的类可以有多个直接父类 B)抽象类可以有子类C)Java中的接口支持多继承 D)最终类不可以作为其它类的父类8. 现有两个类M、N,以下描述中表示N继承自M的是(D)。
A) class M extends N B) class N implements MC) class M implements N D) class N extends M9. 现有类A和接口B,以下描述中表示类A实现接口B的语句是(A)。
A) class A implements B B) class B implements AC) class A extends B D) class B extends A10. 下列选项中,定义抽象类的关键字是( C)。
JAVA考试复习题(附答案)

7、以下有关构造方法的说法,正确的是:( A )
A.一个类的构造方法可以有多个 B.构造方法在类定义时被调用
C.构造方法只能由对象中的其它方法调用
D.构造方法可以和类同名,也可以和类名不同
8、以下有关类的继承的叙述中,正确的是:( D )
A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
C.数组属于简单数据类型 D.Java中的指针类型和C语言的一样
4、设 int x=1,float y=2,则表达式 x / y的值是:( D )
A.0 B.1 C.2 D.以上都不是
5、以下语句有语法错的是:( A )
A.int x=1;y=2;z=3 B.for (int x=10,y=0;x>0;x++);
A.构造方法必须是public方法 B.main方法必须是public方法
C.Java应用程序的文件名可以是任意的 D.构造方法应该声明为void类型
3、关于Java中数据类型叙述正确的是:( B )
A、整型数据在不同平台下长度不同 B.boolean类型数据只有2个值,true和false
10、关于Java中异常的叙述正确的是:( D )
A.异常是程序编写过程中代码的语法错误 B.异常是程序编写过程中代码的逻辑错误
C.异常出现后程序的运行马上中止 D.异常是可以捕获和处理的
11、所有的异常类皆继承哪一个类?( C )
A.java.io.Exception B.ng.Throwable
B.子类只能继承父类的方法,不能继承父类的属性
C.子类只能继承父类的非私有属性,不能继承父类的方法
Java复习题

一、选择题1.编译Java程序后生成的面向JVM的字节码文件的扩展名是(B)。
A..javaB..classC..objD..exe2.下面关于Java语言特点的描述中,错误的是()。
A.Java是纯面向对象编程语言,支持单继承多重继承。
E.Java支持分布式的网络应用,可透明地访问网络上的其他对象。
B.Java支持多线程编程。
C.Java程序与平台无关、可移植性好。
3.下面标识符(名字)命名原则中,正确的是()。
A.类名的首字母小写B.接口名的首字母小写C.常量全部大写D.变量名和方法名的首字母大写4.下面()是正确的main()方法说明。
A.void main()B.private static void main(String args[])C.public main(String args[])D.public static void main(String args[])5.下面标识符中在Java语言中是合法的是()。
A.person$B.TwoUsersC.*pointD.instanceof6.下面()是合法标识符。
A.2endB.-helloC.=ABD.整型变量7.若x=5,y=8,则表达式x|y的值为()。
A.3B.13C.0D.58.若定义有变量float f1,f2=8.0F,则下列说法正确的是()。
A.变量f1,f2均被初始化为8.0B.变量f1没有被初始化,f2被初始化为8.0C.变量f1,f2均未被初始化D.变量f2没有被初始化,f1被初始化为8.09.若定义有short s; byte b; char c; 则表达式s*b+c的类型为()。
A.charB.shortC.intD.byte10.下列循环语句的循环次数是()。
int i = 5;do { System.out.println(i--);i--;} while(i!=0)A.5B.无限C.0D.111.定义一个类,必须使用的关键字是()A.publicB.classC.interfaceD.static12.如果声明一个类时使用abstract修饰符,则表明该类是()A.抽象类可以不用继承直接使用B.抽象类,必须被继承后才能使用C.共有类,在本包与其他包内均可访问D.最终类,不能被其他类继承13.关于构造方法的说法正确的是()A.一个类只能有一个构造方法B.一个类可以有多个不同名的构造方法C.构造方法与类同名D.构造方法必须自己定义14.下面关于抽象方法的说法中正确的是()A.抽象方法可以有方法体B.抽象方法可以出现在非抽象类C.抽象方法是没有方法体的方法D.抽象类中的方法都是抽象方法15.在java中,能够实现多重继承的技术是()A.内部类B.适配器C.接口D.继承16.若在某一个类定义中定义有如下的方法:AbstractvoidperfomDial(){};则该方法属于()A.本地方法B.最终方法C.静态方法D.抽象方法17.下面关于继承的说法中正确的是()A.子类将继承父类所有的属性和方法B.子类将继承父类的非私有属性和方法C.子类只继承父类public方法和属性D.子类只继承父类的方法,而不继承属性18.下面关于接口的说法中正确的是()A.实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口C.接口间不能有继承关系D.接口和抽象是同一回事19.以下关于覆盖方法的叙述中正确的是()A.子类覆盖父类的方法时,子类对父类同名的方法将不能再做访问B.子类覆盖父类的方法时,可以覆盖父类中final方法和static方法C.子类覆盖父类的方法时,子类的方法声明必须与其父类中的声明完全一样D.子类覆盖父类的方法时,子类的方法声明只需与其父类中声明的方法名一样20.在使用interface声明一个接口时,只可以使用()修饰符修饰该接口。
Java复习参考题

Java复习参考题一、选择题1.编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。
A).javaB).claC).htmlD).e某e解析:【java类文件名的后缀为.java;html(HyperTe某tMark-upLanguage)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。
.html即网页文件;.e某e为可执行文件,可执行应用程序。
】2.JAVA对象主要属性有(A)。
A)状态与行为B)抽象和封装C)继承与多态D)可重用和可扩展3.MA某_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义这个变量。
(C)A)publicintMA某_LENGTH=100;B)finalintMA某_LENGTH=100;C)finalpublicintMA某_LENGTH=100;D)publicfinalMA某_LENGTH=100;解析:【常量不可修改,所以用final来修饰,其他的就按照要求是int型public的成员变量,final和public先后顺序关系不大】4.下面哪些选项是正确的main方法说明?(B)A)publicmain(Stringarg[])B)publictaticvoidmain(Stringarg[])C)privatetaticvoidmain(Stringarg[])D)voidmain()5.Sytem和Math类在哪个包中(B)A)java.ioB)ngC)java.awtD)java.util6.下列语句执行后,变量a、c的值分别是(B)。
int某=182;inta,c;c=某/100;a=某;A)1,2B)2,1C)1.82,2D)100,827.下面哪个表达式可用得到某和y的最大值(B)A)某>yy:某B)某y(某+y):(某-y)D)某==yy:某;8.在面向对象开发中,最基本的单元是类,它是由类名、属性和(A)消息B)方法C)对象D)关系9.下面的代码段中,执行之后count的值是什么(D)。
java期末复习题库及答案

java期末复习题库及答案一、选择题1. Java是一种()。
A. 编译型语言B. 解释型语言C. 标记语言D. 汇编语言答案:B2. Java程序的执行流程是()。
A. 编译 -> 链接 -> 执行B. 编译 -> 执行C. 编译 -> 解释 -> 执行D. 解释 -> 执行答案:C3. 下列哪个是Java的关键字?()A. classB. functionC. includeD. namespace答案:A4. Java中的类是()。
A. 抽象的B. 具体的C. 既是抽象的也是具体的D. 以上都不是答案:A5. Java中,哪个关键字用于定义一个类?()A. publicB. classC. voidD. int答案:B二、填空题1. Java语言的跨平台特性主要得益于______机制。
答案:JVM(Java虚拟机)2. 在Java中,所有的类都是继承自______类。
答案:Object3. Java中的______关键字用于定义一个方法。
答案:void 或者其他返回类型4. 在Java中,______关键字用于定义一个类是公共的。
答案:public5. Java中的______关键字用于定义一个变量是静态的。
答案:static三、简答题1. 简述Java语言的特点。
答案:Java语言具有面向对象、跨平台、健壮性、多线程、安全性、简单性等特点。
2. 什么是Java的垃圾回收机制?答案:Java的垃圾回收机制是指JVM自动检测内存中不再被使用的对象,并释放它们占用的内存资源,以防止内存泄漏。
3. 什么是Java的异常处理机制?答案:Java的异常处理机制是指程序在执行过程中,当出现错误或异常情况时,Java运行时环境提供的一种处理机制,包括try、catch、finally和throw等关键字的使用。
四、编程题1. 编写一个Java程序,实现计算两个整数的和。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、要设计一个符合MVC模型的J2EE程序,JavaBean 通常充当 B。
A.视图层 B.模型层 C.控制层 D.数据库连接层2、对于以下程序,Customer对象在第几行变为持久化状态?____B_______Customer customer=new Customer();customer.setName(\"Tom\");Session session1=sessionFactory.openSession();Transaction tx1 = session1.beginTransaction(); //line1session1.save(customer); //line2mit(); //line3session1.close(); //line4A. line1 B. line2 C. line3 D. line43、一个表达式在被JSP引擎执行后会被自动转化为字符串,然后显示出来。
以下是jsp表达式的是 D 。
A.<= (new java.util.Daen a te())> B.<%! (new java.util.Date())%> C. <% (new java.util.Date())%> D. <%= (new java.util.Date())%>4、下面对Web应用开发中Servlet组件说法错误的是 C 。
A.Servlet是按照接受请求/返回响应的模式工作的B.运行于Servlet容器中,是被动态加载的C.在Struts框架中,Servlet充当模型组件D.在Struts框架中,Servlet充当控制器组件5、在 Java Servlet 中,可用来获取Form传递值的方法是: A 。
A. request.getParameterB. request.getParamC. request.setCharEncodingD. request.getSession6、下列关于Jsp指令标签的描述不正确的是: C 。
A. JSP指令标签包括page标签和include标签。
B. page 标签可以在一个页面中多次使用,为增强程序的可读性,建议将page 指令放在JSP文件的开头,但不是必须的。
C. 指令标签是以Jsp: 开头,用法是<jsp:page >。
D.Page 指令不能作用于动态包含文件,例如<jsp:include> 中。
判断改错题1、 Servlet 被编译后才能执行,而Jsp中使用的所有对象要先转成Servlet 对象或其它Java对象,然后才能执行。
( 对 )2、 Servlet程序中的起始类名称不必与存放该类的文件名相同(错) 必须相同3、要调用父类构造方法,使用关键字super(对)填空题1、每当创建给定类的实例时就调用的方法称为构造方法2、static修饰符修饰的方法叫静态方法。
3、面向对象是Java最重要的特性,所以它支持继承、重载、多态等面向对象的特性。
4、O/R Mapping翻译成汉语是对象-关系映射。
5、每当创建给定类的实例时就调用的方法称为构造方法6、JSP的动作有 <jsp:include >、<jsp:param >、<jsp:forward > 、<jsp:setProperty> <jsp:getProperty> <useBean > 。
7、Servlet的生命周期可以概括为初始化、执行和结束,他们分别对应的方法是init() 、 serivce() 和 destroy()8、表单是(Web 服务器)和Web 浏览器之间实现信息交流和传递的桥梁。
9、下面不是Hibernate映射文件中包含的内容数据库连接信息和Hibernate属性参数10、OGNL是对象图导航语音:Object-Graph Navigation Language的缩写。
11、JSP 网页主要分为Elements(元素)与Template Data(模板数据)部分。
12、Hibernate配置的两种方法:hibernate.properties和hibernate.cfg.xml。
13、应用程序从SessionFactory(会话工厂)获得Session(会话)实例。
它在多个应用线程间进行共享。
14、类是具有相同属性和行为的一组对象的集合,定义一个类的关键字是:class15、多态包括方法重写和方法重载问答题1、关于<jsp:useBean>、 <jsp:setProperty> 、 <jsp:getProperty>回答下列问题(1)<jsp:useBean>对应的类一般只有两类方法是:get set(2)<jsp:useBean id="s1" class=" Student " scope="application"/>假如Student类是一个javabean,那么id="s1" class=" Student "这两句等价于java语言中的语句:Student s1=new Student();scope:声明JavaBean的生存范围,给出下列关键字所指代的范围:page 仅对当前页面有效request 仅对本次请求有效,可以被该次请求的其他的JSP、Servlet访问Session 仅对一次会话有效,可以被本次会话的其他所有的JSP、Servlet访问Application该数据可以被该应用下其他所有的JSP、Servlet访问page:bean 的缺省使用范围request:作用于任何相同请求的JSP 文件中,直到页面执行完毕向客户端发回响应或在此这之前已通过某种方式(如重定向、链接等方式)转到另一个文件为止。
还可通过使用Request对象访问bean,如request.getAttribute(beanName)。
session:作用于整个session 的生存周期内,在session 的生存周期内,对此bean 属性的任何改动,都会影响到在此session内的另一page、另一request里对此bean 的调用。
但必须在创建此bean的文件里事先用page 指令指定了session=true。
application:作用于整个application的生存周期内,在application周期内,对此bean 属性的任何改动,都会影响到此application内另一page、另一request 以及另一session 里对此bean的调用。
(3)<jsp:setProperty name="s1" property=“classno” param=“56789”/> classno 是Student类的一个成员变量。
这一句执行的作用是:设定Student组件中的classno属性2、MVC 的意义?以及在struts中各指什么对象?意义就是:职能分工M:模型(Model),V:视图(View)C:控制Controller)。
MVC模式的目的就是实现Web系统的职能分工Model层实现系统中的业务逻辑。
View层用于与用户的交互。
Controller层是Model与View之间沟通的桥梁,它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作.模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。
•模型(Model)模型是应用程序的主体部分。
模型表示业务数据,或者业务逻辑.•视图(View)视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。
•控制器(controller)控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。
M:模型(Model), 在struts中指useBean,即actionV:视图(View) , 在struts中指jspC:控制Controller, 在struts中指struts.xmlJava 中的数据类型分为两个类别:原始数据类型、引用数据类型❑变量是存储数据的基本单元❑数据转换有两种类型:自动类型转换和强制类型转换❑数组用于将相同数据类型的多项数据存储在连续的内存单元中❑Java 提供了一组丰富的运算符❑Java 支持以下控制语句编程结构:❑if - else❑switch❑for❑while❑do - while对象是存在的具体实体,具有明确定义的状态和行为。
“消息指一个对象为执行某项特定操作而向另一个对象发送的请求”“类是具有相同属性和行为的一组对象的集合” ((public) class DateFirstTry )❑类以共同特性和操作定义实体❑类是用于组合各个对象所共有操作和属性的一种机制“在类中表示对象或实体拥有的特性时称为属性”“对象执行的操作称为方法。
”语法class <classname> {<body of class>}其中,class 是创建类所使用的关键字,<classname> 是类的名称,<body of class> 包含属性和方法的声明。
语法<returntype> <methodname> (<type1> <arg1>, <type2> <arg3>,…) { <set of statements>}其中,<returntype> 是方法返回值的数据类型<methodname> 是用户自定义的方法名称方法的参数列表是一组变量声明。
❑信息隐藏,隐藏对象的实现细节,不让用户看到❑将东西包装在一起,然后以新的完整形式呈现出来❑例如,两种或多种化学药品组成一个胶囊❑将方法和属性一起包装到一个单元中,单元以类的形式实现❑“隐藏属性、方法或实现细节的过程称为封装。
”❑用于任何实例方法内,指向当前对象❑this 的值指向对其调用当前方法的对象❑this 关键字可在需要当前类类型的对象引用时使用❑每当创建给定类的实例时就调用的方法❑与类同名,但没有返回类型❑Java 为对象分配内存,初始化实例变量并调用构造方法❑两种构造方法❑参数化构造方法❑隐式构造方法❑import mypackage.Calculate;(导入包)❑package mypackage;(声明包)❑对象由状态和行为组成❑类是具有相同属性和行为的一组对象的集合❑封装是隐藏对象实现细节的过程,以便不让用户看到❑类的变量和方法可被该类的实例访问❑圆点符号用于访问对象的成员❑构造函数在创建对象时初始化对象❑类是具有相同属性和行为的一组对象的集合,对象是类的实例❑封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节❑类可用Class来定义,类的变量和方法可被该类的实例访问,圆点符号用于访问对象的成员,构造函数在创建对象时初始化对象❑包可用package来申明,可用import 来导入包❑继承的特点:具有层次结构子类继承了父类的属性和方法❑继承的优点代码的可重用性可以轻松地自定义子类父类的属性和方法可用于子类设计应用程序变得更加简单❑❑多态性是指“多种形式”❑它使用不同的实例而执行不同操作❑多态包括方法重写和方法重载❑方法重载类中有多个具有相同名称的方法方法具有不同的参数列表❑static修饰符修饰的方法叫静态方法❑目的使该方法独立于类的实例,使用类去访问,而不是类实例,所以也叫类方法❑调用静态方法的语法为:❑classname.methodname( );❑final不能修改变量子类不能重写方法❑由abstract修饰的方法叫抽象方法;由abstract修饰的类叫抽象类❑抽象方法必须声明在抽象类中❑抽象方法语法:❑abstract type method_name(parameter_list);❑声明抽象类语法:❑abstract class{…… }❑使用:父类中的某些抽象不包含任何逻辑,并需要在子类中重写,子类提供这种抽象方法的实现细节❑接口就是某个事物对外提供的一些功能的申明❑可以利用接口实现多态,同时接口也弥补了Java单一继承的弱点❑使用interface关键字定义接口❑一般使用接口声明方法或常量,接口中的方法只能是声明,不能是具体的实现❑封装、继承和多态是面向对象的主要特征❑继承可提高代码的重用性,使用extends关键字来实现。