java期末复习

合集下载

java期末考试题及答案及解析

java期末考试题及答案及解析

java期末考试题及答案及解析一、选择题(每题2分,共20分)1. 下列哪个选项不是Java的基本数据类型?A. intB. floatC. doubleD. String答案:D解析:Java的基本数据类型包括整型(byte, short, int, long)、浮点型(float, double)、字符型(char)和布尔型(boolean)。

String是一个引用数据类型。

2. 在Java中,哪个关键字用于定义一个类?A. classB. interfaceC. enumD. struct答案:A解析:关键字class用于定义一个类,是Java面向对象编程的基础。

3. 下列哪个是Java的控制流程语句?A. if-elseB. try-catchD. package答案:A解析:if-else是条件语句,属于控制流程语句。

try-catch用于异常处理,import和package用于导入和声明包。

4. Java中,哪个方法用于获取字符串的长度?A. length()B. size()C. count()D. getLength()答案:A解析:String类中的length()方法用于返回字符串的长度。

5. 下列哪个选项是Java集合框架中接口?A. ArrayListB. LinkedListC. HashSetD. Collection答案:D解析:Collection是Java集合框架中的一个根接口,而ArrayList、LinkedList和HashSet是实现了Collection接口的具体类。

6. 在Java中,哪个关键字用于实现多态?B. abstractC. extendsD. implements答案:C解析:extends关键字用于继承,是实现多态的一种方式。

7. 下列哪个是Java的异常类型?A. RuntimeExceptionB. IOExceptionC. SQLExceptionD. All of the above答案:D解析:所有选项都是Java的异常类型,其中RuntimeException是运行时异常,IOException和SQLException是检查型异常。

java期末考点总结

java期末考点总结

java期末考点总结一、基础知识1. Java语言的起源和特点2. Java开发环境的配置和使用3. Java程序的基本结构和语法规则4. 数据类型和变量5. 运算符和表达式6. 控制流程和循环结构二、面向对象编程1. 面向对象的基本概念和原则2. 类和对象的定义和使用3. 封装、继承和多态4. 接口和抽象类5. 继承和多态的应用6. 继承和接口的区别三、异常处理1. 异常的概念和分类2. 异常的处理机制3. try-catch语句的使用4. finally语句的作用5. 异常的抛出和捕获6. 自定义异常四、常用类库1. String类的常用方法2. Math类和常用数学方法3. Date类和Calendar类的使用4. 集合框架和常用集合类5. IO流的使用6. 文件的读写操作五、多线程编程1. 进程和线程的概念2. 创建线程和实现Runnable接口的区别3. 同步和互斥的实现4. 线程的状态和控制5. 线程的优先级和调度6. 线程池的使用和管理六、网络编程1. 网络通信的基本概念和协议2. Socket编程和TCP/IP协议3. UDP协议和DatagramSocket类4. URL和URLConnection类的使用5. 服务器和客户端的通信6. HTTP协议和网页的访问七、图形用户界面1. AWT和Swing的区别和优缺点2. 组件的布局和事件处理3. 容器和组件的层次结构4. 图形用户界面的设计和优化5. 多线程和事件处理6. 用户界面的国际化和本地化八、数据库编程1. 数据库的基本概念和SQL语句2. JDBC的使用和连接数据库3. Statement和PreparedStatement的使用4. ResultSet的处理和数据库操作5. 事务和批处理的管理6. 数据库连接池的使用九、Web开发1. HTML和CSS的基本语法和标签2. JavaScript的基本语法和事件处理3. Servlet和JSP的概念和使用4. MVC模式的理解和应用5. 数据库连接和数据处理6. Web应用的发布和部署十、设计模式1. 设计模式的基本概念和分类2. 单例模式和工厂模式的实现3. 观察者模式和适配器模式的应用4. MVC模式和策略模式的理解和应用5. 模板方法模式和装饰者模式的实现6. 设计模式的优缺点和使用场景以上是Java期末考点的总结,希望能帮助你复习和理解Java编程的重要知识点。

Java期末复习

Java期末复习

第一章1.面向过程和面向对象程序设计语言的区别2.编译执行和解释执行语言的区别3.java的各个版本,javase javaee javame4.什么是java虚拟机?工作原理是什么?jdk和jre的区别?5.各个命令的含义:javac.exe java.exe Javadoc.exe jar.exe(考试不要求)6.path和classpath的区别(考试不要求)第二章1.标识符的命名规则2.变量使用三部曲:声明,赋值,使用3.如何定义常量?4.基本数据类型(8种),占用的空间大小,给定一个常数,默认的类型,浮点数的两种表示方法5.基本数据类型的转换,向上和向下6.参数可变的方法定义(考试不要求)第三章类和对象(一)类和对象的基本概念*****1.面向对象语言的基本特点2.什么是类和对象,什么是封装性3.java中所有对象都是引用类型。

(内存分析)4.对象的创建和使用(new,.,)5.JVM内存分配,堆、栈、数据、代码(考试不要求)6.java对象生命周期,什么是gc?工作原理?好处?7.构造函数作用,定义要求。

默认构造方法和对类成员的初始化。

构造和初始化顺序(4步)。

8.对象变量的传递,值传递和引用传递9.什么是方法重载?要求是什么?和方法重写有什么区别?10.this引用的作用11.静态数据成员和静态方法成员。

静态成员和普通成员的互相访问(二)包的概念12.什么是包?如何定义包?命名规则是什么?如何使用包?哪些常用包?哪个包不显式导入就可使用?13.使用jar打包(考试不要求)(三)继承的概念*****14.什么是继承?带来的好处是什么?15.如何实现继承?子类成员和父类成员有哪三种关系?新增,重用,重写16.什么是重写?有哪些语法要求?17.super关键字的作用什么?18.子类的构造函数的执行过程。

能否继承父类?如何显式调用父类构造函数?19.类成员的可访问性。

(4个关键字)20.对象转型,向上,向下,instanceof关键字。

java期末复习题库及答案

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程序,实现计算两个整数的和。

java期末考试复习题及答案

java期末考试复习题及答案

java期末考试复习题及答案Java程序设计》课程试卷1.Java语言编写的源程序保存时的文件扩展名是(B).java。

2.若int a=-2,则表达式a。

3的值为(C)8.3.下列对数组元素的引用错误的是(C)a[3]。

因为数组下标从0开始,a[3]超出了数组的范围。

4.在类的定义中可以有两个同名函数,这种现象称为函数(D)重载。

5.构造函数的作用是(D)初始化成员变量。

6.下列关键字中,哪一个不是用于异常处理语句(B)break。

7.类与对象的关系是(A)类是对象的抽象。

8.下列哪一个是Java中不合法的标识符(D)*point。

9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)static void method()。

10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的(C)ArrayList myList=new ArrayList()。

11.Java源文件和编译后的文件扩展名分别为(B).java和.class。

12.在Java中,如果需要在用户自定义的Applet子类中进行画图操作,一般需要重载父类的paint()方法。

13.对于一个Java源文件,正确的顺序应该是先package,再import,最后是class定义。

14.非法的代码是char c = 'u'。

因为单引号中只能包含一个字符。

15.Java语言使用的字符码集是Unicode。

16.如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用private修饰。

17.正确的main方法定义应该是public static voidmain(String[] args)。

18.加互斥锁的关键字是synchronized。

19.抽象方法是没有方法体的方法,而且只能出现在抽象类中。

20.包中的File类是字节流类。

java复习期末重点考点总结

java复习期末重点考点总结

java复习期末重点考点总结一、基本语法1. 变量和常量定义变量和常量,变量的作用域,变量类型转换等。

2. 数据类型Java的基本数据类型,如整型、浮点型、字符型、布尔型等。

3. 运算符Java的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等。

4. 控制结构条件语句,如if语句、switch语句。

循环语句,如for循环、while循环、do-while循环。

5. 数组一维数组、多维数组的定义和使用。

6. 方法定义方法,方法的重载、调用以及参数传递。

7. 异常处理Java的异常处理机制,如try-catch-finally语句块。

常见的异常类及其使用。

二、面向对象1. 类和对象类和对象的定义,成员变量和成员方法的访问权限。

2. 构造方法和析构方法构造方法和析构方法的定义和使用。

3. 继承子类和父类的关系,继承的实现和使用。

方法重写和父类引用子类对象的特点。

4. 接口接口的定义和实现,接口的多继承。

多态的概念和实现,向上转型和向下转型。

6. 包包的定义和使用,包的导入和导出。

三、输入输出1. 文件操作文件的读取和写入,字符流和字节流的使用。

2. 序列化和反序列化对象的序列化和反序列化,使用序列化实现对象的存储和传输。

四、集合框架1. 集合接口和类常用集合接口和类的介绍和使用,如List、Set、Map等。

2. 迭代器集合的迭代器,实现对集合元素的遍历和操作。

3. 泛型泛型的概念和使用,泛型类和泛型方法。

4. 排序和比较使用集合框架实现元素的排序和比较。

五、线程1. 线程的创建和启动线程的创建方式,使用Thread类和Runnable接口。

2. 线程同步线程同步的方法,如使用synchronized关键字实现线程同步。

3. 线程通信线程之间的通信方式,如使用wait()、notify()、notifyAll()方法进行线程通信。

线程池的定义和使用,使用线程池实现线程的复用。

六、网络编程1. 套接字套接字的概念和使用,使用套接字实现网络通信。

大学java期末试题及答案

大学java期末试题及答案一、选择题(每题2分,共20分)1. Java中,下列哪个关键字用于声明一个类?A. classB. interfaceC. publicD. private2. 下列哪个选项是Java中的一个基本数据类型?A. StringB. IntegerC. intD. Boolean3. 在Java中,哪个方法用于获取数组的长度?A. length()B. size()C. getLength()D. count()4. Java中,下列哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally5. 下列哪个选项是Java中的集合框架接口?A. ListB. ArrayListC. LinkedListD. All of the above6. 在Java中,下列哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract7. 下列哪个选项是Java中用于创建线程的方法?A. start()B. run()C. thread()D. All of the above8. 在Java中,下列哪个关键字用于声明接口?A. classB. interfaceC. abstractD. final9. 下列哪个选项是Java中用于创建对象的关键字?A. newB. createC. makeD. instantiate10. 在Java中,下列哪个关键字用于声明一个方法?A. methodB. functionD. void二、填空题(每题2分,共20分)1. Java语言是_________语言,它允许跨平台运行。

2. 在Java中,所有的类都是_________类的子类。

3. Java中,_________关键字用于声明一个方法可以被子类重写。

4. Java中,_________关键字用于声明一个类不能被继承。

java期末试题及答案

java期末试题及答案一、选择题(每题2分,共20分)1. Java语言的特点是______。

A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B、C2. 下列哪个是Java的基本数据类型?A. StringB. intC. ArrayListD. Object答案:B3. 在Java中,哪个关键字用于定义类?A. classB. interfaceC. packageD. import答案:A4. Java中的异常处理是通过哪两个关键字实现的?A. try、catchB. if、elseC. switch、caseD. while、do-while答案:A5. 下列哪个不是Java集合框架中的一部分?A. ListB. SetC. MapD. Queue答案:D6. Java中的main方法的返回类型是什么?A. intB. voidC. StringD. Object答案:B7. 在Java中,哪个类提供了对文件的输入输出操作?A. java.io.FileB. java.io.FileInputStreamC. java.io.FileOutputStreamD. java.io.FileReader答案:A8. 下列哪个是Java中的多线程实现方式?A. 继承Thread类B. 实现Runnable接口C. 使用Timer类D. 所有选项答案:D9. Java中,哪个关键字用于实现接口?A. implementsB. extendsC. abstractD. final答案:A10. 下列哪个是Java的访问修饰符?A. privateB. publicC. protectedD. 所有选项答案:D二、填空题(每空2分,共20分)1. Java语言的跨平台特性主要得益于______机制。

答案:JVM(Java虚拟机)2. Java语言中,______关键字用于定义一个方法的返回类型。

JAVA期末复习题

JA V A期末复习题一、判断题。

1.Java语言是平台无关的语言。

T2.类的静态方法中可以访问该类的非静态数据成员.F3.Java中方法调用时参数传递都是按值传递的,因此从方法中退出时,参数的值是不会变的。

T4.覆盖方法所抛出的异常不能比原方法更多。

T5.Final 方法不能被覆盖。

T6.抽象类中一定包含抽象方法。

F7.接口中的方法必须是抽象方法。

T8.在方法定义中,所以可能发生的异常都必须用try{} catch(){}捕捉。

F9.Java支持多重继承。

F10.Final修饰的类不能派生子类。

T11.覆盖的同名方法中,子类方法不能比父类方法的访问权限更严格。

T12.不能在静态方法中使用13.抽象类中不能创建对象。

T14.一个类可以实现多接口。

T15.接口中可以包含非静态成员。

F16.不论是否捕捉到异常try{}catch(){} final{}语句中finally块中的代码总要被执行。

T17.一个类实现一个接口,则该类必须实现接口中的所有方法。

F18.线程使用sleep方法去休眠后可以使用notify方法唤醒。

F19.线程使用sleep方法休眠是会释放该线程同步锁定的对象。

F20.Final类中的属性和方法都必须是final的。

F二、选择题1、Java中复合数据类型不包括(D)2、请从四个选项中选择答案,下列代码的执行结果是:(C)Public class Test{Public static void main(String args[]){Float t=;Int q=6;System.out.println((t++)*(--q));}}A.40B.40.0 C3、下列关于修饰符混用的说法,错误的是(D)A.abstract 不能与final 并列修饰同一个类B.abstract类中可以有非abstract的方法C.普通类(非abstract类)中不能有abstract方法D.static方法中能处理非static的属性4、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A)A.可以被该类自身、与它在同一个包中的其它类、在其它包中的该类的子类所访问B.只能被该类本身和该类的所有的子类访问C.只能被该类自身所访问D.只能被同一个包中的类访问5、x=2,y=3,z=4,则表达式z*=y++*--x的值是(A)A.12B.24 C6、以下赋值语句正确的是(D)A.char c1=”a”B.float f1=3.22C.byte b1=266D.long L1=0xAC8L7、Java不支持多重继承,但我们可以通过(B)实现8.已知类person是类student的父类,以下数组定义和赋值哪些是正确的(A)A. person p[]=new person[3]; p[1]=new student();B .student s[]=new person[3]; s[1]=new person();C .person p[]= new student[3];p[1]= new person();D .student s[]=new student[3];s[1]=new person;9 编译之后,得到了三个字节码文件:MyClass.class , MyClasslittle$.class MyClass$1.class.这表明(C)A.MyClass类中的两个方法:little和1B. MyClass.Java中有三个类:MyClass、little和1C. MyClass类中有两个内部类:一个是命名的little,另一个是匿名的1D. MyClass、little和1,这三者没什么关系10、main 方法是java Application 程序执行的入口点,关于main方法的方法头以下(B)是合法的。

java期末考试题试题库及答案

java期末考试题试题库及答案一、选择题1. Java语言是一种:A. 编译型语言B. 解释型语言C. 编译解释型语言D. 汇编语言答案:C2. 下列哪个关键字用于定义Java接口?A. classB. interfaceC. abstractD. package答案:B3. 在Java中,哪个类是所有Java类的根类?A. ObjectB. StringC. SystemD. Main答案:A4. Java中的线程同步机制是通过哪个关键字实现的?A. synchronizedB. volatileC. finalD. static答案:A5. 下列哪个不是Java集合框架中的一部分?A. ListB. SetC. MapD. Queue答案:D二、填空题6. Java语言的跨平台特性主要得益于______机制。

答案:JVM(Java虚拟机)7. 在Java中,______关键字用于定义一个方法不能被重写。

答案:final8. Java的异常处理机制中,______类是所有异常的超类。

答案:Throwable9. Java中的______关键字用于声明一个变量,其值在初始化后不能被改变。

答案:final10. 一个Java程序的入口点是______方法。

答案:main三、简答题11. 简述Java中接口和抽象类的区别。

答案:接口定义了一组方法规范,不包含实现,可以被任何类实现,而抽象类可以包含方法实现,并且可以被其他类继承。

接口不能有构造方法,而抽象类可以有。

接口中的方法默认是public和abstract的,而抽象类中可以有public、private等访问修饰符。

12. 描述Java中异常处理的机制。

答案:Java的异常处理机制包括try、catch、finally和throw 关键字。

try块用于包含可能抛出异常的代码,catch块用于捕获并处理异常,finally块用于执行无论是否发生异常都需要执行的代码。

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

第一章1、public class Hello{public static void main(String args[ ]){System.out.println("Hello world!");}}错误:未进行编译2、java的可移植性:移植到不同的操作系统上。

第二章1、引用数据类型:类、接口、数组。

2、length的使用例如:double number[ ]=new double[15];//number.length的值是15int [ ][ ]xx=new int[3][4];//xx.length=3,xx[0].length=43、数组的引用int []a={1,2,3},b={4,5};令a=b,则a={4,5},b={4,5}4、数组的初始化静态初始化格式:数据类型数组名[ ] = {初值0 , 初值1 , … , 初值n}。

例如:float boy[]={21.3f,23.89f,2.0f,23f,778.98f};动态初始化:程序员指定数组长度,但不直接为数组元素分配初值。

例如:float boy[]= new float[5];注意:动态初始化和静态初始化不能同时进行。

例如:float boy[]= new float[5] {21.3f,23.89f,2.0f,23f,778.98f}是错误的写法5、public class CommandParam{public static void main(String args[ ]){int i=Integer.parseInt(args[0]); //接受键盘键入的数int j=Integer.parseInt(args[1]); //接受键盘键入的数int sum=i+j;System.out.println("The numbers are : "+i+"and"+j);System.out.println("The sum is: "+sum);}}第三章1、整型/整型=整型例如;7/3=22、switch开关语句switch 语句是多分支的开关语句,它的一般格式定义如下:switch(表达式){case 常量值1:若干个语句break;case 常量值2:若干个语句break;………case 常量值n:若干个语句break;[default:若干语句]}switch后面括号中表达式的值不能用浮点类型或long类型例:public class SwitchOp1{public static void main(String args[]){float a=9;float b=3;float result=0;char op='+';switch(op){case '+': result=a+b;case '-': result=a-b;case '*': r esult=a*b;case '/': result=a/b;default: result=0;}System.out.println("result="+result); }}运行结果如下:public class SwitchOp2{public static void main(String args[]){float a=9;float b=3;float result;char op='+';switch(op){case '+': result=a+b; break;case '-': result=a-b; break;case '*': r esult=a*b; break;case '/': result=a/b; break;default: result=0;}System.out.println("result="+result);}}运行结果如下:3、例如,x的初值是1,那么语句:((y=1)==0)&&((x=6)==6);中的x值仍是1。

((y=1)==0)&((x=6)==6);中的x值是6。

4、右移位运算的符号为:>>。

并用0或1填充左边的高位,a是正数用0填充,负数时用1填充运算符>>>同样是执行一个右移位,只是它执行的是不带符号的右移。

在不带符号的右移中,右移后左边留下的空位中添入的一律是0。

左移位运算的符号为:<<。

并用0填充右边的低位。

5.下列System.out.printf语句的输出结果是什么?Int a[]={3,4,1,2,-6};For(int i=0;i<a.length;i++){For(int j=i+1;j<a.length;j++){If(a[j]<a[i]){Int n=a[j];a[j]=a[i];a[i]=n;}}}System.out.printf(“%d,%d,%d,%d,%d”,a[0],a[1],a[2],a[3],a[4]);结果如下-6,1,2,3,4第四章1、方法使用:(1)构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,并且不返回任何数据类型(无void,没有类型,无return)。

构造方法可重载(2)静态变量或类变量在内存空间里只有一份(3)静态成员使用时除了可以用对象名表示外还可用类直接使用如:class ChineseChinese.countryChinese ch1 = new Chinese();ch1.country2、静态代码块class StaticCode{static String country;{System.out.println("aaa");}static{country = "China";System.out.println("StaticCode is loading");}StaticCode( ) {System.out.println("Constructor is calling.");}}class TestStaticCode{static{System.out.println("TestStaticCode is loading");}public static void main(String[ ] args){new StaticCode( );new StaticCode( );}运行结果如下:3、单态设计模式class Chinese{private static Chinese objRef = new Chinese( );private static int count = 0;String name;int age;private Chinese( ){System.out.println(++count);}public static Chinese getInstance( ){return objRef;}}class TestChinese{public static void main(String [ ] args){Chinese obj1 = Chinese.getInstance( );Chinese obj2 = Chinese. getInstance( );System.out.println(obj1==obj2);}4、现有重载方法:public void info(String name, double count) public void info(String name, int count)5、this作用(1)public class Person{String name;int age;Person(String name){ = name;}Person(String name , int age){this(name);this.age = age;}将屏蔽的成员变量用this表示(2)在一个构造方法里调用其他重载的构造方法6、包-d指定生成的字节码文件所在的目录如果源文件没有包名,使用参数-d可以将字节码文件存放到你指定的有效目录中,例如:javac –d F:\tsinghua\1000 MyFile.java将源文件MyFile.java生成的全部字节码文件存放到F:\tsinghua\1000。

使用import语句可以引入包中的类ng可不用import语句引入包中的类7、装箱、拆箱public class WrapperDemo03 {public static void main(String[] args) {Integer i = 30 ; // 自动装箱成IntegerFloat f = 30.3f ; // 自动装箱成Floatint x = i ; // 自动拆箱为intfloat y = f ; // 自动拆箱为float}}8、构造块优先于构造方法被执行第五章1、java不支持多重继承,只支持单继承2、super的作用:(1)子类使用super调用父类的构造方法注:必须是子类构造方法中的头一条语句(2)子类使用super调用被子类隐藏的成员变量和方法(3)调用父类中被重写的方法3、子类的构造过程Student(){构造子类的父类部分再构造子类的新增部分}4、final类适用场合:(1)用于修饰类,不能被继承(2)修饰方法,方法不能重写(3)修饰变量,变为常量5、上转型对象private int n=40;void crySpeak(String s) {System.out.println(s);}}public class Monkey extends Mammal{void compute(int aa,int bb) {int cc=aa*bb;System.out.println(cc);}void crySpeak(String s) {System.out.println("**"+s+"**");}public static void main(String args[ ]){Mammal mammal=new Monkey( );// mammal是Monkey类对象的上转型对象mammal.crySpeak("I love this game");Monkey monkey=(Monkey)mammal;//把上转型对象强制转化为子类的对象pute(10,10);}}例:class A{double n;int m;void f(){System.out.printf("子类继承方法f(),n=%f,m=%d\n",n,m);}void g(){System.out.printf("你好,n=%f,m=%d\n",n,m);}}class B extends A{int n=12;void g(){System.out.printf("子类重写方法g(),n=%d,m=%d\n",n,m);}void cry(){System.out.printf("子类新增的方法,n=%d,m=%d\n",n,m);}}public class Example5_8{public static void main(String args[]){A a;a=new B();a.n=0.618;a.m=200;a.f();a.g();B b=(B)a;b.n=555;b.cry();}}运行结果如下:6.构造方法不被继承7.抽象类和抽象方法Java语言中,用abstract关键字来修饰一个类时,这个类叫做抽象类。

相关文档
最新文档