简述构造方法的作用

合集下载

《Java基础入门》(第二版)习题汇总(1)

《Java基础入门》(第二版)习题汇总(1)

1.1 习题一、填空题1、Java的三大体系分别是______、______、______。

2、Java程序的运行环境简称之为______。

3、编译Java程序需要使用______命令。

4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的______目录下。

5、______环境变量用来存储Java的编译和运行工具所在的路径,而______环境变量则用来保存保存Java虚拟机要运行的“.class”文件路径。

二、判断题1、通过Java虚拟机可以在不同的操作系统上运行Java程序,从而实现跨平台特性。

2、JRE中又包含了Java基础类库、JVM和开发工具。

3、Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中。

4、java.util:包含Java中大量工具类、集合类等,例如Arrays、List、Set等。

5、Java语言和C语言一样,是面向过程的语言。

三、选择题1、以下选项中,哪些属于JDK工具?(多选)A、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?A、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?A、.javaB、.jreC、.exeD、.class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?A、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项?A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;四、简答题1、简述Java的特点。

2、简述JRE与JDK的区别。

3、简述Java的运行机制。

合肥工业大学JAVA程序设计问答题

合肥工业大学JAVA程序设计问答题

1、JAVA语言有哪些特点特点:简单性、面向对象技术、分布性、健壮性、安全性、体系结构中立、可移植性、解释执行、高性能、多线程..完全面向对象、平台无关性、多线程2、JAVA平台是什么其运行原理是什么与一般操作平台的不同JAVA平台:由JAVA虚拟机和JAVA核心类构成;为JAVA程序开发提供编程接口且与具体的操作系统无关的平台..运行原理:JAVA代码由编译器编译成字节代码文件;然后由JAVA解释器解释执行其字节文件..与一般操作平台的不同:JAVA是解释执行程序;编译后产生的文件中不含有硬件信息;并且其支持跨平台的运行..3、字节码好处字节码:经过JAVA编译器编译后;与特定机器无关;需要解释器才能执行的中间代码..好处:字节码中不包含有硬件信息;为JAVA跨平台的运行提供了基础..4、什么是变量名变量名与变量值有什么区别变量是用来标识一块内存区域..变量名是一个标识符;用来引用一块内存区域;变量值是内存区域中存储的值..5、什么是表达式什么是语句两者之间有什么异同表达式是用运算符及操作元连接符合一定语法规则的式子;语句是一个表达式最后加上一个分号..异同:语句是程序的组成部分;表达式是语句的组成部分;语句有结束符;表达式没有结束符;语句是针对程序而言的;表达式是数学上的计算概念;算式的计算结果“=”在右边;赋值语句“=”在表达式的左边..6、Break和Continue语句的区别Break语句是跳出整个循环;并且不执行循环体内的程序;而Continue 语句则是跳出此次循环;还可以继续执行循环体..7、Do……while语句和While语句的区别Do……while 语句是先执行一次循环体的内容再判断;而While则是先判断然后再执行循环体的内容..8、什么是类如何定义一个类类中包含了哪几部分;分别是什么类是某些对象共同特征的表示;是对象的抽象..定义一个类需要在定义类的结构中包含类的声明和类的实体..类在语法上包含了类的声明和类体两个部分;其中类的声明部分由关键字class与类名组成;类体中包含变量的说明;方法的定义与实现两个部分..9、什么是对象如何创建对象对象是类的具体;是操作的直接对象..创建对象需要借助new操作符和构造函数配合使用;一般格式为:类名对象名 = new 类名10、什么是构造方法构造方法有那些特点构造方法是一个类方法中方法名与类名相同的类方法;其作用是当使用new关键字创建对象时;自动调用并对新建对象进行初始化操作..构造方法特点:a.构造方法与类名相同b.构造方法没有返回值;不定义返回类型c.构造方法可以重载;针对参数数量和类型定义多个同名构造方法d.构造方法可以继承;子类可以继承父类的构造方法e.构造方法不是由编程人员显式调用;其在对象创建时由new运算符自动调用f.构造方法只用来对类实例进行初始化;目的在于简化初始化操作11、如何对对象进行初始化对象的初始化是在对象创建完之后用构造方法对其进行初始化的操作;该操作的一般语法为类名对象名 = new 构造方法12、静态方法与非静态方法的区别静态方法与非静态方法的语法上的区别在于是否被static关键字修饰a.非静态方法可以对静态变量和非静态变量操作;而静态方法只能对静态变量进行操作b.静态方法可以有对象调用也可以由类名直接调用;而非静态方法只能由对象调用c.一个类中的方法可以互相调用;但静态方法只能调用静态方法;不能调用非静态方法d.创建对象之前;非静态方法没有入口13、final成员变量和方法有什么特点final成员变量一般在声明是进行初始化;一旦最终成员变量被赋值;则在整个程序执行过程中都不能被改变;final方法不能被重复定义或者更改方法内容;即被重载..14、什么是类的封装如何对成员变量和方法的访问权限的设置以达到数据封装的目的类的封装是指类的设计者为使用者提供类对象可以访问的部分;而对于类中其余的成员变量和方法隐藏起来;用户不能访问..可以通过public、protected、private、默认四种控制符来实现数据封装的目的..15、子类能够继承父类的哪些成员变量和方法子类中可以继承父类中的public和protected成员..16、多态中的重载和覆盖有什么不同覆盖是子类对父类同名方法的重定义;其方法名同而方法内容不同;重载是指在类中创建多个方法;它们具有相同的名称但有不同的参数和不同的实现..17、如何来制作图形界面它需要引入哪些包制作图形界面首先要创建一个窗口容器并在窗口中添加各种组件;接着在指定组件属性和在窗口中的位置;构成图形界面的外观效果;然后定义图像界面的事件和各种组件对不同事件的响应;从而实现图形界面和用户的交互..需要引用的包有:AWT、Swing18、在Java中什么是事件简述处理事件的机制..事件是指人机交互所产生的交互内容;其代表某对象可执行的操作及其状态变化..处理事件的机制:事件源根据触发事件产生一个事件对象;事件对象传递参数并调用监听器相应的处理方法..19、什么是布局器;它有什么作用布局管理器就是一个用来安排其他容器和基本组件的对象..其主要是用来安排和管理其它组件在窗口中的位置..20、何为异常为什么要进行异常处理异常是指程序运行过程中出现的非正常..良好的应用程序除了具备用户所要求的功能外还应该具备预见性并处理可能发生的各种各种异常功能..21、Error和Exception类有什么不同Error类是处理内部系统错误;Exception类是解决程序本身及其环境所产生的异常..Exception类可以被捕获和处理;Error类异常只能在发生时由用户按照系统提示关闭程序..22、什么是抛出异常如何抛出异常抛出异常是指在程序过程中通过throw语句以“throw new 异常类名”的格式抛出异常..异常名可以选择系统异常类名;也可以使用自定义异常类名..23、什么是TCP/IP协议它有什么特点TCP/IP协议;传输控制协议\因特网互联协议;其是一个基于连接的协议;提供两台计算机之间的可靠的数据流..特点:A.开放的协议标准;可免费使用;并且独立于特定的计算机硬件与操作系统B.独立于特定的网络硬件;可以运行在局域网、广域网;更适用于互联网中C.统一的网络地址分配方案;使整个TCP/IP设备在网中都具有唯一的地址D.标准化的高层协议;可以提供多种可靠的用户服务24、一个完整的URL的地址由哪几部分组成一个完整的URL可分为四个部分:资源类型、存放资源的主机域名、资源文件名和端口..25、URL连续从服务器上读取一个文本文件;并显示该文本文件的内容实例化URL对象->实例化URLConnection对象->实例化InputStreamReader对象->实例化BufferReader对象26、简述Socket通信机制;说明客户端如何与服务器进行连接..Socket通信机制:A.服务器生成一个ServerSocket实例对象;随时监听客户端的连接请求B.客户端生成一个Socket实例对象;并发出连接请求C.服务器端通过accept方法接受到客户端的请求后;开辟一个端口与进行连接;并生成所需的I/O数据流D.通信通过一对InputStream和OutputStream进行通信;通信结束后;两端分别关闭对应的Socket接口27、简述URL与Socket通信的区别..URL和Socket通信的区别:A.通信方式:Socket在服务器端运行通信程序;不停地监听客户端连接请求;使服务器能够在接受到请求时马上与客户端连接并通信;URL进行通信时;被动等待客户端的请求..B.连接数:Socket服务器可以同时与多个客户端进行相互通信;URL 通信服务器每次只能与一个客户端进行通信..28、何为线程和多线程如何建立多线程线程是一个程序内部的顺序控制流;多线程是在同一个应用程序中有多个顺序控制流同时执行..创建线程有两种方法:继承Thread类、通过定义实现新Runnable接口..29、线程的生命周期由哪几种状态各状态之间分别用哪些方法切换线程的生命周期有:就绪、可运行、不可运行、终止四种..就绪->可运行:start可运行->可运行:yield可运行->不可运行:sleep、wait不可运行->可运行 : 阻塞解除、睡眠时间终止、唤醒可运行->终止:run。

java程序设计使用教程(第2版)答案

java程序设计使用教程(第2版)答案

第一章习题答案一、简答题1.Java语言有哪些特点?主要用于能够哪些方面的软件开发?特点:(1)面向对象,(2)平台无关性,(3)分布式,(4)可靠性和安全性,(5)多线程,(6)简单性,(7)健壮性,(8)高性能,(9)灵活性。

适用范围:(1)所有面向对象的应用开发,包括面向对象的事件描述、处理、综合等。

(2)计算过程的可视化、可操作化的软件的开发。

(3)动态画面的设计,包括图形图象的调用。

(4)交互操作的设计。

(5)Internet 的系统管理功能模块的设计,包括 Web 页面的动态设计、管理和交互操作设计等。

(6)Intranet上的软件开发(直接面向企业内部用户的软件)。

(7)与各类数据库连接查询的 SQL 语句实现。

(8)网络通信与移动通信,网络集成方面。

2.Java程序分为哪两类?各有什么特点?如何区分它们?Java语言程序分为两类:应用程序Application和小程序Applet,它们是利用Java语言生成的可运行代码中最常用的两种,两者都必须在Java虚拟机上运行。

Application更象我们平常用VB,VC等编写的桌面程序,多以控制台(CONSOLE)方式运行,当然也很容易实现窗口应用。

Applet则需要嵌入Web页面中,在支持Java虚拟机的浏览器上运行。

区分办法:应用程序Application中一定包括一个主方法main,而小程序Applet没有这个方法。

3.简述Java程序的运行过程。

一个Java源的运行需要经过三个步骤:(1)编辑源程序,产生.Java的源程序文件(2)运用Java虚拟机JVM将源文件编译为.class的字节码文件(3)根据程序的不同类型运行程序。

对于应用程序直接调用运行命令执行字节码文件,而对于小程序Applet,需要先将字节码文件嵌入HTML文件,然后用浏览器软件打开HTML文件。

4.什么是Java虚拟机?简述其工作机制。

Java虚拟机(Java Virtual Machine—JVM)是一种利用软件方法实现硬件功能的抽象化的计算机,它基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。

oracle最新java试题(学生)

oracle最新java试题(学生)

ORACLE软件工程师培训班JAVA基础试卷一、单选题1. 在面向对象方法中,实现信息隐蔽是依靠:A)对象的继承 B)对象的多态C)对象的封装 D)对象的分类2. 对成员的访问控制保护最强的是()。

A)public B)缺省 C)private D)protected3.可用作Java标识符的是()。

A)#123# B)@ C)_date D)10years4.属于Java输入输出流的、且处理的是char类型的类是()。

A)Reader类 B)InputStream类 C)OutputStream类 D)File类5.用于存放创建后则不变的字符串常量是()。

A)String类 B)StringBuffer类 C)Character类 D)以上都不对6. JDK中提供的文档生成器是()。

A)java.exe B)javap.exe C)javadoc.exe D)javaprof.exe7. 下列语句中,属于多分支语句的是()。

A)if语句B)switch语句 C)do while语句 D)for语句8.给定下列代码:public class Person {static int arr[] = new int[10];public static void main(String a[]) {System.out.println(arr[1]);}}下列说法正确的有:( )A. 编译时将发生错误。

B. 编译时正确但是运行时出错。

C. 输出为0。

D. 输出为null9. 设有四个线程,它们的优先级分别为如下四种之一。

则那种级别的线程优先执行?( )A. Thread.MIN_PRIORITYB. Thread.MAX_PRIORITYC. Thread.NORM_PRIORITYD. 优先级别码为 7 级10.设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x-x 的值是?( )A. 0B. 1C. 2D. 311. 在Java语言中,类Student是类Person的子类,Student的构造方法中有一句"super()",该语句表达了什么概念?A. 调用类Worker中定义的super()方法B. 调用类Person中定义的super()方法C. 调用类Person的构造方法D. 语法错误12.在java中,哪一个关键字使类不能派生出子类。

Java-2实用教程(第5版)习题解答

Java-2实用教程(第5版)习题解答

习题解答之马矢奏春创作习题1(第1章)一、问答题1.Java语言的主要贡献者是谁?2.开发Java应用法式需要经过哪些主要步伐?3.Java源文件是由什么组成的?一个源文件中必需要有public类吗?4.如果JDK的装置目录为D:\jdk, 应当怎样设置path和classpath的值?5.Java源文件的扩展名是什么?Java字节码的扩展名是什么?6.如果Java应用法式主类的名字是Bird, 编译之后, 应当怎样运行该法式?7.有哪两种编程风格, 在格式上各有怎样的特点?1.James Gosling2.需3个步伐:1)用文本编纂器编写源文件.2)使用javac编译源文件,获得字节码文件.3)使用解释器运行法式.3.源文件由若干个类所构成.对应用法式, 必需有一个类含有public static void main(String args[])的方法, 含有该方法的类称为应用法式的主类.纷歧定, 但至多有一个public类. 4.set classpath=D:\jdk\jre\lib\rt.jar;.;5. java和class6. java Bird7.独行风格(年夜括号独有行)和行尾风格(左年夜扩号在上一行行尾, 右年夜括号独有行)二、选择题1.B.2.D.1.下列哪个是JDK提供的编译器?2.下列哪个是Java应用法式主类中正确的main方法?A)public void main (String args[ ])B)static void main (String args[ ])C)public static void Main (String args[])D)public static void main (String args[ ])三、阅读法式阅读下列Java源文件, 并回答问题.public class Person {void speakHello() {System.out.print("您好, 很高兴认识您");System.out.println(" nice to meet you");}}class Xiti {public static void main(String args[]) {Person zhang = new Person();zhang.speakHello();}}(a)上述源文件的名字是什么?(b)编译上述源文件将生成几个字节码文件?这些字节码文件的名字都是什么?(c)在命令行执行java Person获得怎样的毛病提示?执行java xiti获得怎样的毛病提示?执行java Xiti.class获得怎样的毛病提示?执行java Xiti获得怎样的输出结果?1.(a)Person.java.(b)两个字节码, 分别是Person.class 和Xiti.class.(c)获得“NoSuchMethodError”, 获得“NoClassDefFoundError: Xiti/class”, 获得“您好, 很高兴认识您 nice to meet you”习题2(第2章)一、问答题1.什么叫标识符?标识符的规则是什么?false是否可以作为标识符.2.什么叫关键字?true和false是否是关键字?请说出6个关键字.3.Java的基本数据类型都是什么?4.float型常量和double型常量在暗示上有什么区别?5. 怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数.1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符.标识符由字母、下划线、美元符号和数字组成, 第一个字符不能是数字.false不是标识符.2.关键字就是Java语言中已经被赋予特定意义的一些单词, 不成以把关键字作为名字来用.true和false不是关键字.6个关键字:class implements interface enum extends abstract. 3.boolean, char, byte, short, int, long, float, double. 4.float常量必需用F或f为后缀.double常量用D或d为后缀, 但允许省略后缀.5.一维数组名.length.二维数组名.length.二、选择题2.下列哪三项是正确的float变量的声明?adfA. float foo = -1;B. float foo = 1.0;C. float foo = 42e1;D. float foo = 2.02f;E. float foo = 3.03d;F. float foo = 0x0123;3.下列哪一项叙述是正确的?bA. char型字符在Unicode表中的位置范围是0至32767B. char型字符在Unicode表中的位置范围是0至65535C. char型字符在Unicode表中的位置范围是0至65536D. char型字符在Unicode表中的位置范围是-32768至32767 4.以下哪两项是正确的char型变量的声明?beA. char ch = "R";B. char ch = '\\'C. char ch = 'ABCD';D. char ch = "ABCD";E. char ch = '\ucafe';F. char ch = '\u10100'5.下列法式中哪些【代码】是毛病的?2345public class E {public static void main(String args[]) {int x = 8;byte b = 127; //【代码1】b = x; //【代码2】x = 12L; //【代码3】long y=8.0; //【代码4】float z=6.89 ; //【代码5】}}6.对int a[] = new int[3];下列哪个叙述是毛病的?bA. a.length的值是3.B. a[1]的值是1.C. a[0]的值是0.D. a[a.length-1]的值即是a[2]的值.1.C.2.ADF.3.B.4.BE.5.【代码2】【代码3】【代码4】【代码5】.6.B.三、阅读或调试法式1.属于把持题, 解答略.2.属于把持题, 解答略.3.属于把持题, 解答略.4.下列法式标注的【代码1】, 【代码2】的输出结果是什么?public class E {public static void main (String args[ ]){long[] a = {1,2,3,4};long[] b = {100,200,300,400,500};b = a;System.out.println("数组b的长度:"+b.length); //【代码1】System.out.println("b[0]="+b[0]); //【代码2】}}5.下列法式标注的【代码1】, 【代码2】的输出结果是什么?public class E {public static void main(String args[]) {int [] a={10,20,30,40},b[]={{1,2},{4,5,6,7}};b[0] = a;b[0][1] = b[1][3];System.out.println(b[0][3]); //【代码1】System.out.println(a[1]); //【代码2】}}4.【代码1】:4.【代码2】:b[0]=1.5.【代码1】:40.【代码2】:7四、编写法式1.编写一个应用法式, 给出汉字‘你’、‘我’、‘他’在Unicode表中的位置.2.编写一个Java应用法式, 输出全部的希腊字母.1. public class E {public static void main(String args[]) {System.out.println((int)'你');System.out.println((int)'我');System.out.println((int)'他');}}2. public class E {public static void main (String args[ ]) {char cStart='α',cEnd='ω';for(char c=cStart;c<=cEnd;c++)System.out.print(" "+c);}}习题3(第3章)一、问答题1.关系运算符的运算结果是怎样的数据类型?2.if语句中的条件表达式的值是否可以是int型?3.while语句中的条件表达式的值是什么类型?4.switch语句中必需有default选项码?5.在while语句的循环体中, 执行break语句的效果是什么?6.可以用for语句取代while语句的作用吗?1.boolean2.不成以3.boolean4. 不是必需的5.结束while语句的执行6.可以二、选择题1.下列哪个叙述是正确的?aA. 5.0/2+10的结果是double型数据.B.(int)5.8+1.0的结果是int型数据.C.'苹'+ '果'的结果是char型数据.D.(short)10+'a'的结果是short型数据.2.用下列哪个代码替换法式标注的【代码】会招致编译毛病?cA.m-->0 B.m++>0 C.m = 0 D.m>100&&truepublic class E {public static void main (String args[ ]) {int m=10,n=0;while(【代码】) {n++;}}}3.假设有int x=1;以下哪个代码招致“可能损失精度, 找到int 需要char”这样的编译毛病. cA.short t=12+'a'; B.char c ='a'+1; C.char m ='a'+x; D.byte n ='a'+1;1.A. 2.C. 3.C.三、阅读法式1.下列法式的输出结果是什么?public class E {public static void main (String args[ ]) { char x='你',y='e',z='吃';if(x>'A'){y='苹';z='果';}elsey='酸';z='甜';System.out.println(x+","+y+","+z);}}序的输出结果是什么?public class E {public static void main (String args[ ]) { char c = '\0';for(int i=1;i<=4;i++) {switch(i) {case 1: c = 'J';System.out.print(c);case 2: c = 'e';System.out.print(c);break;case 3: c = 'p';System.out.print(c);default: System.out.print("好"); }}}}3.下列法式的输出结果是什么?public class E {public static void main (String []args) { int x = 1,y = 6;while (y-->0) {x--;}System.out.print("x="+x+",y="+y);}}x=0,y=5x=-1,y=4x=-2,y=3x=-3,y=2x=-4,y=1x=-5,y=0x=-5,y=-11.你,苹,甜2.Jeep好好3.x=-5,y=-1四、编法式题1.编写应用法式求1!+2!+…+10!.2.编写一个应用法式求100以内的全部素数.3.分别用do-while和for循环计算1+1/2!+1/3!+1/4!……的前20项和.4.一个数如果恰好即是它的因子之和, 这个数就称为“完数”.编写应用法式求1000之内的所有完数.5.编写应用法式, 使用for循环语句计算8+88+888…前10项之和.6.编写应用法式, 输出满足1+2+3…+n<8888的最年夜正整数n. 1.public class Xiti1 {public static void main(String args[]) {double sum=0,a=1;int i=1;while(i<=20) {sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}2.public class Xiti2{public static void main(String args[]) { int i,j;for(j=2;j<=100;j++) {for(i=2;i<=j/2;i++) {if(j%i==0)break;}if(i>j/2) {System.out.print(" "+j);}}}}3.class Xiti3 {public static void main(String args[]) {double sum=0,a=1,i=1;do { sum=sum+a;i++;a=(1.0/i)*a;}while(i<=20);System.out.println("使用do-while循环计算的sum="+sum);for(sum=0,i=1,a=1;i<=20;i++) {a=a*(1.0/i);sum=sum+a;}System.out.println("使用for循环计算的sum="+sum);}}4.publicclass Xiti4 {public static void main(String args[]) {int sum=0,i,j;for(i=1;i<=1000;i++) {for(j=1,sum=0;j<i;j++) {if(i%j==0)sum=sum+j;}if(sum==i)System.out.println("完数:"+i);}}}5.public class Xiti5 {public static void main(String args[]) {int m=8,item=m,i=1;long sum=0;for(i=1,sum=0,item=m;i<=10;i++) {sum=sum+item;item=item*10+m;}System.out.println(sum);}}6.public class Xiti6{public static void main(String args[]) {int n=1;long sum=0;while(true) {sum=sum+n;n++;if(sum>=8888)break;}System.out.println("满足条件的最年夜整数:"+(n-1));}}习题4(第4章)一、问答题1.面向对象语言有哪三个特性?2.类名应当遵守怎样的编程风格?3.变量和方法的名字应当遵守怎样的编程风格?4.类体内容中声明成员变量是为了体现对象的属性还是行为?5.类体内容中界说的非构造方法是为了体现对象的属性还是行为?6.什么时候使用构造方法?构造方法有类型吗?7.类中的实例变量在什么时候会被分配内存空间?8.什么叫方法的重载?构造方法可以重载吗?9.类中的实例方法可以把持类变量(static变量)吗?类方法(static方法)可以把持实例变量吗?可以.不成以.10.类中的实例方法可以用类名直接调用吗?8.一个类中可以有多个方法具有相同的名字, 但这些方法的参数必需分歧, 即或者是参数的个数分歧, 或者是参数的类型分歧.可以.9.10.不成以.11.简述类变量和实例变量的区别.12.this关键字代表什么?this可以呈现在类方法中吗?1. 封装、继承和多态.2.当类名由几个单词复合而成时, 每个单词的首字母使用年夜写. 3.名字的首单词的首字母使用小写, 如果变量的名字由多个单词组成, 从第2个单词开始的其它单词的首字母使用年夜写.4.属性5.行为6.用类创立对象时.没有类型7.用类创立对象时.8.一个类中可以有多个方法具有相同的名字, 但这些方法的参数必需分歧, 即或者是参数的个数分歧, 或者是参数的类型分歧.可以.9.可以.不成以.10.不成以.11.一个类通过使用new运算符可以创立多个分歧的对象, 分歧的对象的实例变量将被分配分歧的内存空间.所有对象的类变量都分配给相同的一处内存, 对象共享类变量.12.代表调用以后方法的对象.不成以.二、选择题1.下列哪个叙述是正确的? bA.Java应用法式由若干个类所构成, 这些类必需在一个源文件中.B.Java应用法式由若干个类所构成, 这些类可以在一个源文件中, 也可以分布在若干个源文件中, 其中必需有一个源文件含有主类.C.Java源文件必需含有主类.D.Java源文件如果含有主类, 主类必需是public类.2.下列哪个叙述是正确的? dA.成员变量的名字不成以和局部变量的相同.B.方法的参数的名字可以和方法中声明的局部变量的名字相同.C.成员变量没有默认值.D.局部变量没有默认值.3.对下列Hello类, 哪个叙述是正确的?dA.Hello类有2个构造方法.B.Hello类的int Hello()方法是毛病的方法.C.Hello类没有构造方法.D.Hello无法通过编译, 因为其中的hello方法的方法头是毛病的(没有类型).class Hello {Hello(int m){}int Hello() {return 20;}hello() {}}4.对下列Dog类, 哪个叙述是毛病的?dA.Dog(int m)与Dog(double m)互为重载的构造方法.B.int Dog(int m)与void Dog(double m)互为重载的非构造方法.C.Dog类只有两个构造方法, 而且没有无参数的构造方法.D.Dog类有3个构造方法.class Dog {Dog(int m){}Dog(double m){}int Dog(int m){return 23;}void Dog(double m){}}构造方法是一种特殊的方法, 与一般的方法分歧是:1.构造方法的名字必需与界说他的类名完全相同, 没有, 甚至连void 也没有.2.构造方法的调用是在创立一个对象时使用new把持进行的.构造方法的作用是初始化对象.3.不能被static、final、synchronized、abstract和native修饰.构造方法不能被子类继承.5.下列哪些类声明是毛病的?cdA)class AB)public class AC)protected class AD)private class A6.下列A类中【代码1】~【代码5】哪些是毛病的?1 4 class Tom {private int x=120;protected int y=20;int z=11;private void f() {x=200;System.out.println(x);}void g() {x=200;System.out.println(x);}}public class A {public static void main(String args[]) {Tom tom=new Tom();tom.x=22; //【代码1】tom.y=33; //【代码2】tom.z=55; //【代码3】tom.f(); //【代码4】tom.g(); //【代码5】}}7.下列E类的类体中哪些【代码】是毛病的.4class E {int x; //【代码1】long y = x; //【代码2】public void f(int n) {int m; //【代码3】int t = n+m; //【代码4】}}1.B.2.D.3.D.4.D.5.CD.6.【代码1】【代码4】.7.【代码4】.三、阅读法式1.说出下列E类中【代码1】~【代码3】的输出结果.class Fish {int weight = 1;}class Lake {Fish fish;void setFish(Fish s){fish = s;}void foodFish(int m) {fish.weight=fish.weight+m;}}public class E {public static void main(String args[]) {Fish redFish = new Fish();System.out.println(redFish.weight); //【代码1】 Lake lake = new Lake();lake.setFish(redFish);lake.foodFish(120);System.out.println(redFish.weight); //【代码2】 System.out.println(lake.fish.weight); //【代码3】}}2.请说出A类中System.out.println的输出结果. class B {int x=100,y=200;public void setX(int x) {x=x;}public void setY(int y) {this.y=y;}public int getXYSum() {return x+y;}}public class A {public static void main(String args[]) {B b=new B();b.setX(-100);b.setY(-200);System.out.println("sum="+b.getXYSum());}}3.请说出A类中System.out.println的输出结果. class B {int n;static int sum=0;void setN(int n) {this.n=n;}int getSum() {for(int i=1;i<=n;i++)sum=sum+i;return sum;}}public class A {public static void main(String args[]) {B b1=new B(),b2=new B();b1.setN(3);b2.setN(5);int s1=b1.getSum();int s2=b2.getSum();System.out.println(s1+s2);}}4.请说出E类中【代码1】,【代码2】的输出结果n的输出结果. class A {double f(int x,double y) {return x+y;}int f(int x,int y) {。

Java程序设计-填空判断题

Java程序设计-填空判断题

11、在方法体内定义的变量是___,其前面不能加___,且必须___。

答案:局部变量|public|初始化);14、switch语句中的表达式的数据类型可以是long。

答案:错误15、已知语句:int a =8,b=6; 则:表达式++a-b++的值为___。

答案: 3;16、已知:int a[ ]={2,4,6,8}; 则:表达式(a[0]+=a[1])+ ++a[2]值为___。

答案: 13;18、已知:boolean b1=true,b2; 则:表达式! b1 && b2 ||b2的值为___。

答案: N;20、执行int x, a = 2, b = 3, c = 4; x = ++a + b++ + c++; 结果是___。

答案: x=10,a=3,b=4,c=5;22、如果int x= 3,y=-10;则表达式y%x的结果为___。

答案: -1;26、在if-else嵌套时,如果没有强制配对,else则按缩格排版与if配对。

答案:错误27、以下程序段的输出结果是___。

int x = 5, y = 6, z = 4; if (x + y > z && x + z > y && z + y > x) System.out.println("三角形"); else System.out.println("不是三角形");答案:三角形;31、在循环结构中,用来结束当前循环,直接进入下一轮循环的语句是___。

答案: continue;32、do-while语句要要先判断循环条件,如果条件为真,则执行循环体。

答案:错误33、do….while语句构成的循环能用其他语句构成的循环来代替。

答案:错误34、while循环语句与do-while循环语句有何不同?答案:由于while语句先判断条件,再执行循环体;do-while语句是先执行一次循环体再进行条件判断,所以在循环条件已开始就不满足的情况下,do-while会至少执行一次,而while语句一次也不执行。

第7、8章 深入面向对象练习题

第7、8章  深入面向对象练习题

一、选择题(1)下列构造方法的调用方式中,正确的是()A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(2)下列叙述中,正确的是( )A. 声明变量时必须指定一个类型B. Java认为变量number与Number相同C. Java中唯一的注释方式是"//"D. 源文件中public类可以有0或多个(3)下列叙述中,错误的是( )A. 父类不能替代子类B. 子类能够替代父类C. 子类继承父类D. 父类包含子类(4)下列关于继承的哪项叙述是正确的?A.在java中允许多重继承B.在java中一个类只能实现一个接口C.在java中一个类不能同时继承一个类和实现一个接口D.java的单一继承使代码更可靠(5)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?( )A.private B.无修饰符C.public D.protected(6)给出下列代码,如何使成员变量m 被方法fun()直接访问?class Test{ private intm;public static void fun(){ ... }}A.将private int m 改为protected int mB.将private int m 改为public int mC.将private int m 改为static int mD.将private int m 改为int m(7)下列关于内部类的说法不正确的是( )A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B.内部类可以使用它所在类的静态成员变量和实例成员变量C.内部类不可以用abstract修饰符定义为抽象类D.内部类可作为其他类的成员,而且可访问它所在类的成员(8)在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为()。

看图写出图中人物正在做的事情

看图写出图中人物正在做的事情
5.静态变量和静态方法的特点是它们属于类而不是对象,它们可以在不创建对象的情况下被访问和修改。
##五、计算题(共10分)
1. 3 + 4 * 2 / (1 - 0.5) = 11
2. 5 * (6 - 2) + 3 / 2 = 23.5
3. (8 / 2) + (4 * 3) - 5 = 11
4. 10 % 3 + 2 * (5 - 1) = 9
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age=" + age +
java
import java.util.ArrayList;
import java.util.List;
public class StudentManagementSystem {
private List<Student> students;
public StudentManagementSystem() {
3. Member -表示图书馆的会员,包含会员ID、姓名、借阅记录等。
4. Loan -表示图书的借阅记录,包含借阅日期、应还日期、归还状态等。

java基础面经典试题(附答案)

java基础面经典试题(附答案)

基础知识部分:1. JDK是什么?JRE是什么?a) 答:JDK:java开发工具包。

JRE:java运行时环境。

2. 什么是java的平台无关性?a) 答:Java源文件被编译成字节码的形式,无论在什么系统环境下,只要有java虚拟机就能运行这个字节码文件。

也就是一处编写,处处运行。

这就是java的跨平台性。

3. 在一台电脑上配置java环境,path起什么作用?如何配置?a) 答:path的作用是在DOS环境下,能在任意位置使用JDK目录中b in文件夹中的可执行程序,来编译执行java程序。

b) 在环境变量中找到path变量,把bin文件夹的绝对路径加上即可。

4. 什么样的标识符是合法的?a) 由字母、数字、_和$组成,长度不限。

其中字母可以是大写或小写的英文字母,数字为0到9。

b) 标识符的第一个字符不能是数字。

c) 标识符区分大小写。

d) 标识符不能包含空格。

5. Java有几种基本数据类型?a) byte,short,int,long,float,double,char,boolean6. 什么是隐式类型转换?什么是显示类型转换?a) 当将占位数少的类型赋值给占位数多的类型时,Java自动使用隐式类型转换。

b) 当把在级别高的变量的值赋给级别底变量时,必须使用显示类型转换运算。

7. &&和&区别,||和|区别?a) &&和||是短路与,短路或,当左边的表达式能判断当前结果,则不判断右边的表达式。

b) 而& 和|则将两边的表达式都运算完毕后,再算结果。

8. break,continue区别?a) break结束所有循环,continue结束当次循环,进入下次循环。

9. 类的命名规则是什么?a) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母。

b) 类名最好见名知意,当类名由几个单词复合而成时,每个单词的首写字母使用大写。

10. 类体的内容由两部分构成,哪两部分?a) 一部分是变量的定义,用来刻画属性。

java题

java题

二、编写程序题1、按以下要求编写程序(1) 创建一个Rectangle类,添加width和height两个成员变量(2) 在Rectangle中添加两种方法分别计算矩形的周长和面积(3) 编程利用Rectangle输出一个矩形的周长和面积public class Rectangle{double width;double length;public Rectangle(){this.width=width;this.length=length;}public double zhouzhang(){return (width+length)*2;}public double mianji(){return width*length;}public static void main(String[] args){Rectangle R=new Rectangle();System.out.println("周长为:"+R.zhouzhang());System.out.println("面积为:"+R.mianji());}}运行结果:周长为:0.0面积为:0.02、按以下要求编写程序(1) 编写Animal接口,接口中声明run() 方法(2) 定义Bird类和Fish类实现Animal接口(3) 编写Bird类和Fish类的测试程序,并调用其中的run()方法3、设计类A和A的派生类B,要求:1)A有两个数据成员a和b(都为int型);B中继承了A中的a和b,又定义了自己的数据成员c(int型)。

2)为A添加含有两个参数的构造方法,对a和b初始化。

3)为B添加含有一个参数的构造方法,对c初始化。

4)完成主控方法,在主控方法中用B e1=new B5)创建对象,把a、b、c分别初始化成3、4、5,最后输出它们的和。

三、简答题1、简述Java中异常处理的机制?1. try catch(先小后大) finally2. 声明抛出异常:throws3. 手动抛出异常:throw4. 自定义异常a) extends Exception或者他的子类2、什么是继承?通过继承实现代码复用。

Java语言程序设计(郑莉)一到八章课后习题答案

Java语言程序设计(郑莉)一到八章课后习题答案

第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力。

对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。

现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方法的集合。

2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!两者的关系:对象是类的具体实例.。

2.什么是面向对象的程序设计方法?它有那些基本特征?答:面向对象程序设计从所处理的数据入手,以数据为中心而不是以服务为中心来描述系统。

它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。

它的特征:抽象,封装,继承,多态。

3.在下面的应用中,找出可能用到的对象,对每一个对象,列出可能的状态和行为。

1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,出发地址,抵达地址,出发日期。

行为:订票,领票,买票,退票。

2)银行交易:状态:客户姓名,账号,身份证号。

行为:存款,取款,汇款。

4.请解释类属性、实例属性及其区别。

答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。

5.请解释类方法、实例属性及其区别。

答:实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。

类方法也称为静态方法,在方法声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。

区别:实例方法可以直接访问实例变量,调用实例方法,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。

答:类的访问控制符只有public(公共类)及无修饰符(默认类)两种。

区别:当使用public修饰符时表示所有其他的类都可以使用此类;当没有修饰符时,则只有与此类处于同一包中的其他类可以使用类。

Java语言程序设计课后习题解答-张思民-第三章

Java语言程序设计课后习题解答-张思民-第三章

第3章面向对象程序设计基础【1】什么是Java程序使用的类?什么是类库?[解答]:Java程序的基本单位是类。

对象是对事物的抽象,而类是对对象的抽象和归纳,找出事物的共性,把具有共同性质的事物归结为一类,得出一个抽象的概念——类。

类是具有相同属性和方法的一组对象的集合,类是在对象之上的抽象,对象则是类的具体化,一旦建立类之后,就可用它来建立许多你需要的对象。

Java的类库是系统提供的已实现的标准类的集合,是Java编程的API(Application Program Interface),它可以帮助开发者方便、快捷地开发Java程序。

【2】如何定义方法?在面向对象程序设计中方法有什么作用?[解答]:方法的定义由两部分组成:方法声明和方法体。

方法声明的基本格式如下:返回类型方法名(形式参数){… //方法体内容}方法声明包括方法名、返回类型和形式参数,方法的小括号是方法的标志;方法体为实现方法行为的Java语句。

在面向对象程序设计中,方法所起的作用是完成对类和对象属性操作。

【3】简述构造方法的功能和特点。

下面的程序片段是某学生为student类编写的构造方法,请指出其中的错误。

void Student(int no,String name){studentNo=no;studentName=name;return no;}[解答]:构造方法是一个特殊的方法,主要用于初始化新创建的对象。

构造方法的方法名要求与类名相同,用户不能直接调用,只能通过new运算符调用,而且构造方法是不返回任何数据类型,甚至也不返回void数据类型,即不能在构造方法前加void。

以上的代码段出错于:①构造方法Student()前不能加void ②不能用return语句【4】定义一个表示学生的student类,包括的域有学号、姓名、性别、年龄,包括的方法有获得学号、姓名、性别、年龄及修改年龄。

编写Java程序创建student类的对象及测试其方法的功能。

房屋建筑学模拟试题3及答案

房屋建筑学模拟试题3及答案

模拟试题3一、填空题(每题2分,共30分)1.民用建筑根据建筑物的使用功能,可以分为居住建筑和__________两大类。

2.如果室内人数多于50人或房间面积大于60m2时,按照防火要求至少需要设置_____门。

3.房间内楼地面到顶棚或其它构件底面的距离称为__________。

4.凡位于建筑物外界四周的墙称为__________。

5.常见的隔墙可分为砌筑隔墙、立筋隔墙和__________隔墙等。

6.墙面常见的装修可分为抹灰类、贴面类、涂科类、裱糊类和__________五类。

7.凡天然土层本身具有足够的强度,能直接承受建筑物荷载的地基称为__________。

8.在装配式钢筋混凝土楼梯中,预制踏步的支承结构一般有梁支承、墙支承以及__________ 三种。

9.单层厂房的结构支承方式基本上可分为承重墙结构与__________结构两类。

10.柱子在平面上排列所形成的网格称为__________。

11.根据国家制订的《建筑统一模数制》,我国采用的基本模数M=_______。

12.中学教学楼,采用内走道(过道两侧设教室),走道宽度为_______左右;采用外走道时(走道一侧设教室)走道宽度为_______左右。

13.建筑构造是研究建筑物各组成部分的_______和_______的学科。

14.刚性防水屋面施工方便,造价经济,其缺点是对_______和_______较为敏感,要采取防止产生裂缝的构造措施。

15.窗框的安装方法有_________和_________两种。

二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题2分,共30分)1.在建筑设计中,对于大型的比较复杂的工程,一般采用哪几个设计阶段( )。

A.1个B.2个C.3个D.4个2.下列建筑物的交通部份称为建筑物中的交通枢纽。

( )A.走廊、过道B.楼梯C.电梯D.门厅、过厅3.一般民用建筑中的生活、学习或工作用房、窗台的高度为( )。

简述构造方法的特点

简述构造方法的特点

简述构造方法的特点构造方法是一种特殊的方法,被用于创建对象并初始化对象的实例变量。

在Java中,构造方法的名称必须与类名相同,可以有零个或多个参数。

构造方法的特点如下:1.方法名与类名相同:构造方法的方法名必须与所在类的名称完全相同,包括大小写。

这使得编译器能够识别并调用正确的构造方法。

2. 返回类型为void:构造方法没有返回类型,包括void。

这是因为构造方法的主要目的是创建对象并初始化实例变量,而不是返回一个值。

3.可以有参数:构造方法可以有零个或多个参数,这取决于我们需要在创建对象时传递的信息。

使用参数使得我们可以在创建对象时为实例变量提供初始值。

4.没有显式声明返回值:与其他方法不同,构造方法没有显式声明返回值。

实际上,它们根本没有返回值,因为它们的主要目的是初始化对象的状态。

5.可以被重载:构造方法可以像其他方法一样被重载。

重载构造方法允许我们使用不同的参数列表创建不同的对象,以满足不同的需求。

6. 用于创建对象:使用new关键字调用构造方法来创建一个新的对象。

构造方法负责为新对象分配内存并初始化对象的状态。

7. 默认构造方法:如果没有显式声明任何构造方法,Java编译器会在编译时为我们提供一个默认的构造方法。

默认构造方法没有参数,并初始化实例变量的默认值。

需要注意的是,构造方法是一个特殊的方法,与普通方法有些不同。

它们具有类似的语法和特征,但用途和目的不同。

构造方法的主要目的是创建对象并初始化实例变量,而普通方法主要用于执行对象的行为。

构造方法在面向对象编程中非常重要,因为它们允许我们在创建对象时对其进行初始化。

通过构造方法,我们可以确保对象在创建时处于一种合适的状态,并且在使用时不需要手动初始化。

构造方法的特点使得它们成为创建对象的关键步骤之一、正确地使用构造方法可以帮助我们设计出更可靠和高效的面向对象程序。

PHP程序设计习题答案

PHP程序设计习题答案

第1章PHP开篇习题一、填空题1.Apache的httpd服务程序使用的是【 80 】端口。

2.在进行软件开发时有两种基本架构,B/S架构和【C/S】架构.3.URL的英文全称是【Uniform Resource Locator】,中文名称为【统一资源定位符】。

4.【HTTP 】协议是计算机硬件与软件之间数据交换的格式。

5.【HTTP】表示传输数据所使用的协议,【WWW】表示要请求的服务器主机名。

二、判断题1.使用PHP写好的程序,在Linux和Windows平台上都可以运行。

(√)2.PHP可以支持MySQL数据库,但不支持其它的数据库.(×)3.PHP有很多流行的MVC框架,这些框架可以使PHP的开发更加快捷。

(√)4.Zend Studio是PHP中常用的IDE(集成开发环境)。

(√)5.进行PHP程序开发时,可以借助软件和工具来提高效率。

(√)三、选择题1.下列选项中,不是URL地址中所包含的信息是( D ).A.主机名B。

端口号C。

网络协议D。

软件版本2.PHP是一种(A)的编程语言.A.解释型B。

编译型 C. 两者都是 D. 两者都不是3.PHP是个网站开发中非常流行的脚本语言,其流行的原因不包含( C )。

A。

易学 B.易用C。

易调试 D.易扩展4.PHP与Linux、Apache和MySQL一起共同组成了一个强大的Web应用程序平台,下列选项中为该平台简称的是(B ).A. WAMPB. LAMPC。

LNMP D。

WNMP5.在下列选项中,哪些不属于PHP的突出特点( B )。

A开源免费B。

开发成本高C.跨平台性D.支持多种数据库四、简答题1.请简要说明PHP的突出特点是什么?1.开源免费2跨平台性3。

面向对象4。

支持多种数据库5.快捷性.第2章基本语法习题一、填空题1.任何一个程序文件的php代码的开始和结束都要使用【〈?php 】和“?>”进行标记。

2.PHP中,多行注释以【/* 】开始,以【*/ 】结束。

简述构造方法的功能和特点

简述构造方法的功能和特点

简述构造方法的功能和特点1. 引言构造方法,顾名思义,是用来构建对象的一种方法。

在编程的世界里,构造方法就像是给每个对象量身定做的开关,一打开,哗啦啦,一切都在它的掌控之中!想象一下,如果没有它们,我们的对象就像无头苍蝇,乱撞乱飞,完全不知道自己该干嘛。

因此,了解构造方法的功能和特点,对我们搞定编程的日子可是大有裨益的。

2. 功能2.1 创建对象首先,构造方法最重要的功能就是创建对象。

想象你在做一道菜,构造方法就像是你准备食材的过程,没有这个步骤,后面的烹饪就无从谈起。

通过构造方法,我们可以很方便地实例化一个类,赋予对象初始状态。

这种一气呵成的感觉,真的是妙不可言。

2.2 初始化属性然后,构造方法还能初始化对象的属性。

比如说,你有一个“学生”类,里面有“名字”和“年龄”这两个属性。

通过构造方法,你可以在创建学生对象的时候直接传入这些信息,避免了后面再去设置的麻烦,简直就像是在买衣服时直接找到合身的尺码,省心又省力!3. 特点3.1 重载说到构造方法,重载也是一个不得不提的特点。

我们可以在同一个类中定义多个构造方法,形状各异,参数各不同,真是五花八门。

就像是一个变戏法的魔术师,随时可以拿出不同的招数来满足不同的需求。

这样一来,我们就能根据不同的场景灵活选择,随心所欲,真是如鱼得水。

3.2 默认构造方法再来聊聊默认构造方法,这个家伙可真是“万金油”。

当我们创建一个类却没定义任何构造方法时,系统会自动提供一个默认构造方法,让对象也能正常创建。

就好比你在家里找不到钥匙,没关系,门缝里总会留一丝光,能让你进得去。

这种便利性,简直是编程世界的良心设计,让初学者也能轻松入门。

4. 结语总而言之,构造方法在编程中扮演着举足轻重的角色。

它不仅能创建对象,还能初始化属性,通过重载和默认构造方法让我们在编程的过程中游刃有余。

就像是烹饪中的调味品,少了它,菜肴总是少了那份灵魂。

希望大家在今后的编程之旅中,能够好好利用构造方法,最终成就一个又一个的编程美味!。

面向对象基础应用习题答案[1]

面向对象基础应用习题答案[1]

Java语言面向对象基础(答案)一、填空题1.类是一组具有相同(属性)和(行为)的对象的抽象。

(实例)是由某个特定的类所描述的一个个具体的对象。

2.(接口)只描述系统所提供的服务,而不包含服务的实现细节。

3.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(默认构造)方法。

4.在方法体内定义的变量是(局部变量),其前面不能加(public),且必须(初始化)。

5.数组元素作实参时对形参变量的数据传递是(单向值传递),数组名作实参时对形参变量的数据传递是(双向引用传递)。

6.对象作方法形参时,方法实参也用对象,实现(引用)调用。

7.( new)是一个特殊的方法,用于创建一个类的实例。

8.(类)变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例,就会为(实例)变量分配一次内存,(实例)变量可以在内存中有多个拷贝,互不影响。

二、简答题1.名词解释:抽象、对象、类、实例、方法、属性、消息、接口、封装、继承、多态性抽象:是从被研究的对象中舍弃个别的,非本质的或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对被研究问题的正确的、简明扼要的认识。

对象:是对客观事物的抽象,是类的实例。

类:对对象的抽象,是一种抽象的数据类型。

实例:也就是对象,对象也被称为类的实例化。

方法:类的行为,事物动态特征的抽象。

属性:数据成员,是事物静态特征的抽象。

消息:p65接口:p87封装:p61继承:p66多态性:p702.简述面向对象的基本思想、主要特征和基本要素。

P59,主要特征是封装、继承和多态3.为什么要对类进行封装?封装的原则是什么?P59:高内聚,松耦合4.类的封装性、继承性和多态性各自的内涵是什么?第五章内容5.什么是对象?什么是类?二者有何关系?类是对象的模板,对象是类的实例。

以类为模板可以创建不同的对象。

6.Java中类定义的一般格式是什么?定义类的修饰符有哪些?各自的特点是什么?P607.Java中成员变量定义的一般格式是什么?成员变量有哪些修饰符?P39、p50、p618.Java中成员方法定义的一般格式是什么?成员方法有哪些修饰符?P39、p50、p619.简述构造方法的特点与作用。

面向对象程序设计(Java)-题库

面向对象程序设计(Java)-题库

面向对象程序设计(java)题库抽题规范:(1)此题库共75道题,抽8道作为期末考试题。

其中,易8道,较易33道,较难18道,难16道.(2)按题型,第一大题抽4道,每道10分;第二大题抽2道,每道10分;第三大题抽1道,每道20分;第四大题抽1道,每道20分。

(3)按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道)。

一、解答题(共40道,抽4道,每道10分,共40分)1.面向对象有哪三大特征?封装,继承,多态.2.什么是类?(易)类是定义同一类所有对象的变量和方法的蓝图或原型。

3.什么是对象?对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 .。

4.类和对象的区别是什么?java中的类是模板,而对象是依据模版产生的实体5.简述Java的封装性,如何在Java中实现封装封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了。

实现为加访问权限。

6.构造方法有哪些特点方法名与类名相同,没有返回值,可以有多个重载。

7.构造方法的作用是什么?(较易)初始化对象,就是你new一个类的时候可以很方便的给你的对象里的属性赋值。

8.this在程序中所代表的意思(易)指当前对象9继承的作用是什么?(易)实现代码复用。

10.Java支持多继承吗?(易)不能。

11.子类可以继承父类的哪些成员?(较难)变量和构造方法。

12.简述构造子类对象时子类和父类构造方法执行顺序(较易)先执行父类再执行子类。

13.什么是方法的重载,如何选择被重载的方法?(较易)同一个类中如果同时存在两个以上的方法有同一个名字,在这种情况下,我们说方法被重载了,这个过程被称为重载。

14什么是方法的重写,如何选择被重写的方法?(较难)当同名方法同时存在于子类和父类中时,对于子类来说就是将继承父亲的方法重载写过了,实现功能完全和父类无关。

15.简述重载和覆盖的区别(较易)重载是让同一方法名的方法可以处理和返回不同类型的数据而覆盖是在子类中改写父类的方法16.什么是成员的隐藏?如何访问被隐藏了的父类成员?(较易)在子类对父类的继承中,如果子类的成员变量和父类的成员变量同名,此时称为子类隐藏了父类的成员变量。

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

简述构造方法的作用
构造方法是面向对象编程中的一个重要概念,它在创建对象时被调用,用于对对象的初始化。

本文将从多个角度来探讨构造方法的作用。

1. 对象初始化
构造方法的主要作用是在对象创建时对其进行初始化。

在调用构造方法时,会为对象分配内存空间,并执行构造方法中的代码,对对象的成员变量进行赋值。

通过构造方法,我们可以确保对象在创建后处于一个合理的初始状态,以便进行后续的操作。

2. 确保对象的一致性
构造方法可以用于确保对象的一致性。

一致性是指对象在创建后,其内部状态符合预期。

通过在构造方法中对对象进行初始化,我们可以避免对象在创建后处于不一致的状态。

例如,在创建一个银行账户对象时,我们可以在构造方法中设置账户初始余额为0,以确保账户的一致性。

3. 提供默认值
构造方法可以为对象的成员变量提供默认值。

当我们创建一个对象时,如果没有显式地对成员变量进行赋值,那么这些成员变量会被自动初始化为其对应类型的默认值。

通过构造方法,我们可以在对象创建时为成员变量提供自定义的默认值,以满足特定的需求。

构造方法可以像普通方法一样进行重载。

通过为同一个类定义多个不同参数列表的构造方法,我们可以根据不同的参数组合来创建对象。

这样可以提高代码的灵活性和复用性。

例如,一个人类的构造方法可以有不同的参数组合,可以只传入姓名、只传入年龄,或者同时传入姓名和年龄。

5. 继承与构造方法
在继承关系中,子类的构造方法可以调用父类的构造方法来完成对父类部分的初始化。

通过使用super关键字,子类的构造方法可以显式地调用父类的构造方法,并传递所需的参数。

这样可以确保子类对象在创建时,父类部分的状态得到正确地初始化。

6. 防止对象的不变性被破坏
在某些情况下,我们希望对象在创建后保持不可变。

通过将构造方法定义为私有的,我们可以防止外部代码直接创建对象,只能通过提供的静态方法来获取对象的实例。

这样可以确保对象的不变性,并提供更好的封装性。

7. 实现接口
在某些情况下,我们需要为接口定义一个实现类。

接口无法直接实例化,但是可以通过实现类的构造方法来创建对象。

通过实现类的构造方法,我们可以为接口的成员变量进行初始化,并提供具体的
总结起来,构造方法在面向对象编程中起着至关重要的作用。

它可以在对象创建时对其进行初始化,确保对象的一致性;提供默认值,增加代码的灵活性;实现重载,提高代码的复用性;在继承关系中完成对父类的初始化;防止对象的不变性被破坏;实现接口的实例化等。

通过合理使用构造方法,我们可以创建出更加健壮、灵活和易于维护的面向对象程序。

相关文档
最新文档