内部类练习

合集下载

JAVA面向对象程序设计练习题目题目

JAVA面向对象程序设计练习题目题目
1
public class B{ public static void main(String[] args){ } } (A)只有 B.class 文件 (B)只有 A1.class 和 A2.class 文件 (C)编译不成功 (D)A1.class、A2.class 和 B.class 文件 11.下列( )是合法的标识符? (A)12class (B)void (C)-5 (D)_blank 12.下列( )不是 Java 中的保留字? (A)if (B)sizeof (C)private (D)null 13.下列( )不是合法的标识符? (A)$million (B)$_million (C)2$_million (D)$2_million 14.下列选项中, ( )不属于 Java 语言的基本数据类型? (A)整数型 (B)数组 (C)浮点型 (D)字符型 15.下列关于基本数据类型的说法中,不正确的一项是( ) 。 (A)boolean 类型变量的值只能取真或假 (B)float 是带符号的 32 位浮点数 (C)double 是带符号的 64 位浮点数 (D)char 是 8 位 Unicode 字符 16.下列关于基本数据类型的取值范围的描述中,正确的一个是( ) 。 (A)byte 类型的取值范围是-128~128 (B)boolean 类型的取值范围是真或假 (C)char 类型的取值范围是 0~65536 ( D ) short 类 型 的 取 值 范 围 是 -32767 ~ 32767 17.下列关于 Java 语言简单数据类型的说法中,正确的一项是( ) 。 (A)以 0 开头的整数代表 8 进制整型常量 (B)以 0x 或 0X 开头的整数代表 8 进制整型常量 (C)boolean 类型的数据作为类成员变量的时候,相同默认的初始值为 true (D)double 类型的数据占计算机存储的 32 位 18.下列 Java 语句中,不正确的一项是( ) 。 (A)int e, a, b = 10; (B)char c, d = ‘a’; (C)float e = 0.0d; (D)double c = 0.0f; 19.在编写 Java 程序时,如果不为类的成员变量定义初始值,Java 会给出它们的默认值, 下列说法中不正确的一个是( ) 。 (A)byte 的默认值是 0 (B)boolean 的默认值是 false (C)char 类型的默认值是’\0’ (D)long 类型的默认值是 0.0L 20.下列语句中不正确的一个是( ) 。 (A)float f = 1.1f; (B)byte b = 128; (C)double d = 1.1/0.0; (D)char c = (char)1.1f; 21.下列表达式 1+2+ "aa"+3 的值是( ) 。 (A)"12aa3" (B)"3aa3 " (C)"12aa" (D)"aa3" 22.已知 y=2, z=3, n=4,则经过 n=n+ -y*z/n 运算后 n 的值为( ) 。 (A)3 (B)-1 (C)-12 (D)-3 33.已知 a=2, b=3,则表达式 a%b*4%b 的值为( ) 。 (A)2 (B)1 (C)-1 (D)-2

java匿名内部类练习

java匿名内部类练习

class InnerClassTest {
public static void main(String[] args) {
//Test.function():Test类中有一个静态的方法function。 //.method():function这个方法运算后的结果是一个对象。而且是一个Inter类型的对象。 //因为只有是Inter类型的对象,才可以调用method方法。
} }
System.out.println("method run"); } } */
static Inter function() {
return new Inter() {
public void method() {
System.out.println("method run"); } }; }
}
java匿 名 内 部 类 练 习
Байду номын сангаас
Test.function().method();
//
Inter in = Test.function();
//
in.method();
show(new Inter() {
public void method() {
System.out.println("method show run"); } });
}
public static void show(Inter in) {
in.method(); } }
class InnerTest {
public static void main(String[] args) {
new Object() {
public void function() {

Java内部测试题

Java内部测试题

题目(每题20分,附加题20分,满分100+20)一、用多重if语句实现:如果我的存款超过500万,我就买凯迪拉克;否则,如果我的存款超过100万,我就买帕萨特;否则,如果我的存款超过50万,我就买依兰特,否则,如果我的存款超过10万,我就买奥拓;否则,我只有买捷安特了。

二、编写学生类,输出学生相关信息,并编写main方法测试。

属性:姓名、性别、年龄方法:显示学生信息运行效果如图所示:三、提交email地址,对email地址进行有效性检查,要求:合法的email地址应该包含“@”符号,且“@”要出现在“.”之前。

提示:使用字符串的indexOf方法。

四、用随机数自动生成10个整数(1~100)的数组,求出生成数列中的最大值和最小值。

运行效果如图所示:图1:运行效果提示:随机数产生方法:int random=(int)(Math.random()*100);不允许使用Arrays类的sort方法。

五、实现一个简单的英中天气转换器:输入表1中天气状况英文单词的第一个字母,根据输入来判断天气状况,并输出天气的中文形式。

用户可重复输入进行转换,输入n退出系统。

运行效果如图1所示。

表1:天气状况的中英文对照表提示:使用while循环结构及多重if语句实现。

附加题:编写程序,输入正整数N,判断N是否为质数。

所谓质数,就是一个正整数,除了本身和1 以外不能被其他任何数整除。

例如2,3,5,7 是质数(这4个数只能被1和本身整除);而4(可以被2整除),6(可以被2和3整除),8(可以被2和4整除),9(可以被3整除)则不是。

图1:运行效果1图2:运行效果2提示:1.使用for循环和取余运算符(%)来检测质数。

第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中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

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

JAVA课后练习题

JAVA课后练习题

一、选择题1、在创建某类的对象时应该( )A、先声明对象,然后才能使用对象B、先声明对象,为对象分配内存空间,然后才能使用对象C、先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象D、以上述说法都对2、以下说法中对Java中定义的父类与子类的关系描述正确是的( )A、一个子类可以有多个父类,一个父类也可以有多个子类B、一个子类可以有多个父类,但一个父类只可以有一个子类C、一个子类可以有一个父类,但一个父类可以有多个子类D、上述说法都不对3、给定如下Java 程序片断:class A{ public A(){ System.out.print ("Java"); }}class B extends A{ public B(){ System.out.print (" Welcome"); }public static void main(String[] args){ B b=new B(); }}上述程序将( )A、不能通过编译B、通过编译,输出为: Java WelcomeC、通过编译,输出为: WelcomeD、通过编译,输出为: Java4、给定以下程序段,如下:int i=0,j=-1;switch(i){ case 0:j=1; case 2:j=2; default:j=5; }System.out.print("j="+j); 编译运行,正确的是( )A、j=-1B、j=1C、j=2D、j=55、下面关于Java构造函数的描述正确的是( )A、类必须有显式定义构造函数B、它的返回类型是voidC、它和类有相同的名称,但它不能带任何参数D、以上描述都是错误的6、在Java编程中,用来执行Java类文件的命令是( )A、javacB、javaC、appletviewerD、以上都不对7、如下程序片段,体现了Java的( ) 概念public void aMethod(String s) {........}public void aMethod(int i) {........}public void aMethod(int I,float f) {........}A、多继承B、重载C、重写D、多态8、如下Java升序片段Integer a = new Integer(3); Integer b = new Integer(3);System.out.println(a==b);运行后,该程序段的输出结果是( )A、trueB、falseC、0D、19、有如下Java程序声明String s1=new String(“Java”);String s2=new String(“Welcome”);String s3=new String("0"); 以下选项中能够通过编译的是( )A、s3=s1+s2B、s3=s1&s2C、s3=s1||s2D、s3=s1&&s210、在子类构造方法内可以对超类的构造方法(super())进行调用的位置是( )A、子类构造方法的任何地方B、子类构造方法的第一条语句处C、子类构造方法的最后一条语句处D、不能对超类的构造方法进行调用11、传递4,0来运行下列代码中的方法divide(int a, int b)public void divide(int a, int b){ try { int c = a / b; }catch (Exception e) { System.out.print("Exception "); }finally { System.out.println("Finally"); }}程序的输出结果是( )A、打印输出: Exception FinallyB、打印输出: FinallyC、打印输出: ExceptionD、没有任何输出12、在单一文件中import、class和package的正确出现顺序是( )A、package, import, classB、class, import, packageC、import, package, classD、package, class, import13.下列语句中,可以作为无限循环语句的是A) for(;;) {}B) for(int i=0; i<10000;i++) {}C) while(false) {}D) do {} while(false)14.自定义异常类的父类可以是A) ErrorB) VirtuaMachineErrorC) ExceptionD) Thread15.String、StingBuffer都是______类,都不能被继承。

Java程序设计课堂练习题

Java程序设计课堂练习题

Java程序设计课堂练习题《Java程序设计》练习题第⼀章 Java编程基础⼀、选择题1、可以使⽤【】实⽤程序编译Java程序。

A.java B.javac C.javadoc D.cmd2、可以使⽤【】实⽤程序运⾏java应⽤程序。

A.java B.javac C.javadoc D.cmd3、可以使⽤【】实⽤程序从Java源⽂件代码中抽取Java⽂档注释,⽣成相应的HTML帮助⽂档。

A.java B.javac C.javadoc D.cmd4、Java编译单元(源程序⽂件)的扩展名为【】A..java B..class C..doc D..exe5、编译Java源程序⽂件产⽣的字节码⽂件的扩展名为【】A..java B..class C..html D..exe6、以下Java应⽤程序执⾏⼊⼝main⽅法的声明中,正确的是【】A、public static void main()B、public static void main(String[] args)C、public static int main(String[] args)D、public void main(String[] args)7、Java属于以下哪种语⾔?【】A.机器语⾔ B.汇编语⾔C.⾼级语⾔ D.以上都不对8、下⾯哪种类型的⽂件可以在Java虚拟机中运⾏?【】A..java B..jre C..exe D..classs9、Java程序中声明包的关键字是【】A、javaB、packageC、javadocD、cmd10、如果JDK的安装路径为“d:\jdk”,若想在命令窗⼝中任何当前路径下,都可以直接使⽤javac和java命令,需要将环境变量path设置为以下哪个选项?【】A、d:\jdk;B、d:\jdk\bin;C、d:\jre\bin;D、d:\jre;11、下列说法中,不正确的是【】。

A、⼀个Java源⽂件编译通过后,得到的结果⽂件数也只有⼀个B、⼀个Java源⽂件经过编译后,得到的⽂件的扩展名⼀定是.classC、⼀个Java源⽂件只能有⼀个public类定义,其类名与源⽂件名相同D、⼀个Java源⽂件可以包含多个类12、安装好JDK后,在其bin⽬录下有许多exe可执⾏⽂件,其中“java.exe”命令的作⽤是以下哪⼀种?【】。

java练习(类和接口)

java练习(类和接口)

1. (分值:0.7 分)Java 语言中创建一‎个对象使用的‎关键字为A: classB: interf‎a ceC: newD: create‎2. (分值:0.7 分)设有对象x 具有属性a 则访问该属性‎的方法为A: a.xB: a.x()C: x.aD: x.a()3. (分值:0.7 分)以publi‎c修饰的类如:public‎class Car{…} 则Car( )A: 可被其它程序‎包中的类使用‎B: 仅能被本程序‎包中的类使用‎C: 不能被任意其‎它类使用D: 不能被其它类‎继承4. (分值:0.7 分)Java 语言中,只限子类或者‎同一包中的类‎的方法能访问‎的访问权限是‎( )A: public‎B: privat‎eC: protec‎t edD: <无修饰>5. (分值:0.7 分)有Java 语句如下,则说法正确的‎是()int []a,b=new int[3]; A: 此语句是错误‎的B: a.length‎的值为3C: b.length‎的值为3D: a.length‎和b.length‎的值都为36. (分值:0.7 分)设有数组定义‎i nt[][] x={{1,2},{3,4,5},{6},{}};,则x.length‎的值为( )A: 3B: 4C: 6D: 77. (分值:0.7 分)在Java 语言的jav‎a.util 包中,用于语言符号‎(单词)分析的类是()A: string‎T okeni‎z erB: String‎T okeni‎z erC: ToKeni‎z erD: tokeni‎z er8. (分值:0.7 分)接口的所有变‎量和方法分别‎默认为是()A: final static‎和publi‎c abstra‎c tB: final static‎和publi‎c finalC: public‎static‎和publi‎c abstra‎c tD: public‎static‎和publi‎c final9. (分值:0.7 分)下列有关Ja‎v a 的叙述错误的‎是()A: 强类型语言B: 与平台无关C: 可以使用汉字‎变量名D: 不检查数组下‎标越界10. (分值:0.7 分)设数组Arr‎a y 由以下语句定‎义i nt age=new int[10];则数组的第一‎个元素的正确引用方‎法为( )A: age[1]B: Age[0]C: age[]D: age[0]11. (分值:0.7 分)建立一个把l‎i st 字符串数组元‎素作为选择条‎目的列表li‎st1,可以使用的代码是A: list1=JList(list)B: JList list1=JList(list)C: JList list=new JList(list1)D: JList list1=new JList(list)12. (分值:0.7 分)下面哪一项是‎J ava 实现动态多态‎性的具体手段‎()A: 重载;B: 覆盖(重写)C: 接口D: 抽象类13. (分值:0.7 分)下列说法哪个‎是正确的?A: 子类不能定义‎和父类同名同‎参数的方法B: 子类只能继承‎父类的方法,而不能重载C: 重载就是一个‎类中有多个同‎名但有不同形‎参和方法体的‎方法D: 子类只能覆盖‎父类的方法,而不能重载14. (分值:0.7 分)下列类不属于‎j ng.*包的是A: MathB: System‎C: DateD: String‎B uffer‎15. (分值:0.7 分)System‎类属于下列哪‎个包?A: java.io.*B: ng.*C: java.util.*D: java.awt.*16. (分值:0.7 分)对于以下声明‎:String‎s1="hello";String‎s2="world";String‎s3;下面的操作合法的是A: s3=s1+s2;B: s3=s1-s2;C: s3=s1&s2;D: s3=s1&&s2;17. (分值:0.7 分)下面的代码合‎法的是A: public‎abstra‎c t method‎();B: public‎abstra‎c t void method‎();C: public‎abstra‎c t void method‎(){ };D: public‎void method‎() implem‎e nts abstra‎c t;18. (分值:0.7 分)下列数组的定‎义合法的是A: int a = (1,2,3);B:‎int‎d[]=‎(1…3);C: int []a[] = new int[3][];D: char [][]c=new char[][4];19. (分值:0.7 分)有整型数组:int[] x={12,35,8,7,2};,则调用方法A‎rrays.sort(x)后,数组x 中的元素值依‎次是( ).A: 2 7 8 12 35B: 12 35 8 7 2C: 35 12 8 7 2D: 8 7 12 35 220. (分值:0.7 分)下列数组定义‎及赋值,错误的是A: int intArr‎a y[];B: intArr‎a y=new int[3];intArr‎a y[1]=1;intArr‎a y[2]=2;intArr‎a y[3]=3;C: int a[]={1,2,3,4,5};D: int[][]=new int[2][];a[0]=new int[3];a[1]=new int[3];21. (分值:0.7 分)在java 中,字符串由ja‎ng.String‎和()定义A: ng.String‎C harB: ng.String‎B uffer‎C: java.io.String‎C harD: java.io.String‎B uffer‎22. (分值:0.7 分)下列不属于面‎向对象编程的‎三个特征的是‎A: 封装B: 指针操作C: 多态性D: 继承23. (分值:0.7 分)类所实现的接‎口以及修饰不‎可以是A: public‎B: abstra‎c tC: finalD: void24. (分值:0.7 分)下列类的定义‎,错误的是A: public‎class test extend‎s Object‎{……}B: final class operat‎o rs{……}C: clas s‎Point{……}D:‎void‎class‎Point{……}25. (分值:0.7 分)关键字sup‎p er 的作用是A: 用来访问父类‎被隐藏的成员‎变量B: 用来调用父类‎中被重载的方‎法C: 用来调用父类‎的构造函数D: 以上都是26. (分值:0.7 分)下面程序定义‎了一个类,关于该类说法‎正确的是ab‎stract‎class abstra‎c tClas‎s{……}A: 该类能调用n‎ew abstra‎c tClas‎s(),方法实例化为‎一个对象B: 该类不能被继‎承C: 该类的方法都‎不能被重载D: 以上说法都不‎对27. (分值:0.7 分)关于对象的删‎除,下列说法正确‎的是A: 必须由程序员‎完成对象的清‎除B: java 把没有引用的‎对象作为垃圾‎收集起来并释‎放C: 只有当程序中‎调用Syst‎e m.gc()方法时才能进‎行垃圾收集D: java 中的对象都很‎小,一般不进行删‎除操作。

Java练习题1-4章

Java练习题1-4章

第1章Java开发入门一、填空题1、Java程序的运行环境简称之为______。

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

3、和两个可执行程序存放在JDK安装目录的______目录下。

4、______环境变量用来存储Java的编译和运行工具所在的路径。

二、选择题1、Java属于以下哪种语言A、机器语言B、汇编语言C、高级语言D、以上都不对2、下面哪种类型的文件可以在Java虚拟机中运行A、.javaB、.jreC、.exeD、.class3、安装好JDK后,在其bin目录下有许多exe可执行文件,其中命令的作用是以下哪一种A、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器4、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项A.d:\jdk;B.d:\jdk\bin;C.d:\jre\bin;D.d:\jre;第2章基本数据类型与数组一、填空题1、Java中的程序代码都必须在一个类中定义,类使用______关键字来定义。

2、布尔常量即布尔类型的两个值,分别是______和______。

3、Java中的注释可分为三种类型,分别是______、______、______。

4、Java中的变量可分为两种数据类型,分别是______和______。

5、在Java中,byte类型数据占______个字节,short类型数据占______个字节,int类型数据占______个字节,long类型数据占______个字节。

6、在逻辑运算符中,运算符______和______用于表示逻辑与,______和______表示逻辑或。

7、若x = 2,则表达式( x + + )/3 的值是______。

8、若int a =2; a+=3;执行后,变量a的值为______。

9、若int []a={12,45,34,46,23}; ,则a[2]= ______。

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)

面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。

4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。

每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。

5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。

2011年计算机等级考试二级Java笔试练习题

2011年计算机等级考试二级Java笔试练习题

2011年计算机等级考试二级Java笔试练习题(1)1、下列说法不正确的是__________。

答案:AA)Java语言不支持分布式计算B)Java是跨平台的语言C)Java是面向对象语言D)Java是具有多线程并发机制的语言2、Java语言的并发机制是__________。

答案:AA)多线程机制B)垃圾回收机制C)代码安全检验机制D)异常处理机制3、JDK的bin目录下提供的Java调试器是__________。

答案:DA)javac B)javadoc C)java D)jdb4、Java语句要执行一个Applet程序的命令是__________。

答案:AA)appletviewer B)java C)javc D)jdbc5、要执行一个Java Applet程序,必须有的文件类是__________。

答案:CA)XML B)Text C)HTML D)GPL6、一个Java源程序文件的扩展名必须是__________。

答案:CA)jar B)class C)java D)war7、Java编译器产生的文件扩展名必须是__________。

答案:BA)jar B)class C)java D)war8、下列各项中,属于软件的是__________。

答案:DA)CPU B)ALU C)RAM D)JVM9、Java Applet程序设计执行在答案:BA)CPU上B)浏览器上C)服务器上D)ROM上10、支持抽象窗口类型的包是__________。

答案:CA)ng B)ng.ref C)java.awt D)java.util11、能在命令窗口显示信息的方法是__________。

答案:AA)System.out.print() B)read() C)write() D)show12、应用程序结束的方法是用System类的__________。

答案:BA)end() B)exit() C)set() D)get()13、显示消息对话框和输入对话框的类是__________。

Java学习(二).习题

Java学习(二).习题

类和对象.习题1、基本概念题:1.什么叫类?什么叫对象?类是相似对象中共同属性和方法的集合体。

对象是类的实例。

2.对象怎样得到内存空间的?垃圾对象怎样回收的?对象的内存空间是在用户需要时,用new运算符创建的。

对象也有作用范围,我们把超出作用范围的对象(或称不再被使用的对象)称作垃圾对象。

在Java中,收集和释放内存是一个叫做自动垃圾回收线程的责任。

自动垃圾回收线程在系统空闲时自动运行,这个线程监视用户程序中所有对象的有效作用范围,当某个对象超出其作用范围时,该线程就对这样的对象做上垃圾对象标识,并在适当的时候一次性回收这些垃圾对象。

3.什么叫引用类型?对象是引用类型吗?所谓引用类型,是指该类型的标识符表示的是一片内存连续地址的首地址。

对象和数组一样,也是引用类型。

即对象定义后,系统将给对象标识符分配一个内存单元,用于存放实际对象在内存中的存放位置。

4.类的修饰符共有几种?分别是什么?类声明的<修饰符>分为访问控制符和类型说明符两部分,分别用来说明该类的访问权限以及该类是否为抽象类或最终类。

访问控制符:private、public和protected类型说明符:abstract和final5.共有几种形式的变量?这些变量各自的用途是什么?变量可分为:static:指明该成员变量是一个类成员变量final:指明该成员变量是常量transient:指明该成员变量是临时变量。

transient很少使用。

6.成员变量和成员方法的修饰符共有几种?各自的访问权限是什么?有private、public和protected三种private:修饰符表示该成员变量只能被该类本身访问,任何其他类都不能访问该成员变量。

protected:修饰符表示该成员变量除可以被该类本身和同一个包的类访问外,还可以被它的子类(包括同一个包中的子类和不同包中的子类)访问。

public:修饰符表示该成员变量可以被所有类访问。

java 内部类和lambda 选择题

java 内部类和lambda 选择题

Java内部类和lambda选择题近年来,Java内部类和lambda表达式成为了Java开发中的热门话题。

它们的使用在一定程度上可以提高代码的简洁度和可读性。

然而,对于初学者来说,这两个特性的深入理解可能略显困难。

在这里,我们来总结一些关于Java内部类和lambda表达式的选择题,帮助大家更好地掌握这两个特性。

1. 下列关于内部类的说法中,正确的是:A. 内部类可以访问外部类的静态成员和非静态成员B. 内部类中可以定义静态成员和静态方法C. 内部类可以被声明为staticD. 内部类可以是public、protected、默认访问和private四种访问权限答案:A解析:内部类可以自由访问外部类的成员,包括静态成员和非静态成员;内部类中不允许定义静态成员和静态方法;内部类可以被声明为static,这种内部类称为静态内部类;内部类可以是public、protected、默认访问和private四种访问权限。

2. 下列代码中使用了匿名内部类的是:A.```javapublic class Test {public static void m本人n(String[] args) {new Thread(new Runnable(){public void run() {System.out.println("Hello, World!");}}).start();}}```B.```javapublic class Test {public static void m本人n(String[] args) {Runnable r = () -> System.out.println("Hello, World!"); new Thread(r).start();}}```C.```javapublic class Test {public static void m本人n(String[] args) {new Thread(() -> System.out.println("Hello, World!")).start(); }}```D.```javapublic class Test {public static void m本人n(String[] args) {class MyRunnable implements Runnable {public void run() {System.out.println("Hello, World!");}}new Thread(new MyRunnable()).start();}}```答案:A解析:A中使用了匿名内部类实现了Runnable接口的run方法;B中使用了lambda表达式;C中同样使用了lambda表达式;D中使用了局部内部类来实现Runnable接口的run方法。

实验5.内部类

实验5.内部类

第一题.目的:验证内部类对象总与创建它的外部类对象关联 (1)第二题.定义一个Father类 (1)第三题.修改BankAccount (2)第四题.拷贝自身重要数据 (3)第五题.连锁店问题 (4)第六题.修改外围类对象数据,影响内部类行为 (4)第七题.迭代器的局部类实现 (6)第一题参考答案 (7)第二题参考答案 (7)第三题参考答案 (8)第四题参考答案 (10)第五题参考答案 (10)第六题参考答案 (11)第七题参考答案 (11)实验五. 内部类,局部类,匿名类背景知识内部类内部类对象的创建局部类匿名类实验目的1.掌握内部类,局部类,匿名类概念2.学习定义内部类,局部类,匿名类。

3.学习创建内部类,局部类,匿名类对象。

实验内容和步骤第一题.目的:验证内部类对象总与创建它的外部类对象关联1.定义一个类A,它有一个内部类B.2.定义B的方法g,它访问A的数据成员。

3.定义A的方法f,它访问B的数据成员,注意必须指明那个内部类对象的数据成员。

4.确保类A有方法修改A的域。

5.确保类B有方法print,输出A的域。

6.定义类C,它只有一个main方法。

在main方法体内创建A类对象a。

a作为外围对象创建B类对象b;7.验证:每个内部类对象,都有一个相关联的外部类对象,就是创建它的外部类对象。

方法:首先对象b调用print,打印a的域,然后修改a的域,最后b再次调用print,打印a的域,打印结果应该与对a的修改一致,从而说明b与a相关联。

第二题.定义一个Father类它包括:1.内部类Son,表示儿子的类,包括a)数据域phone,表示儿子电话号。

b)内部类构造方法c)CallFather方法,给父亲打电话,打印“xxx给yyy打电话”即可,xxx是儿子电话号,yyy是父亲电话号。

2.数据域phone,表示父亲电话号。

3.Son数组,保存儿子。

4.count,保存儿子个数5.构造函数。

6.给儿子打电话的方法CallSon,打印“给xxx打电话”即可,xxx是儿子电话号。

计算机二级(java)考试习题及解析共3套试题

计算机二级(java)考试习题及解析共3套试题

计算机等级考试二级Java练习题及解析11 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)。

A、可行性分析B、需求分析C、详细设计D、程序编码2 下面叙述正确的是______C。

A、算法的执行效率与数据的存储结构无关B、算法的空间复杂度是指算法程序中指令(或语句)的条数C、算法的有穷性是指算法必须能在执行有限个步骤之后终止D、以上三种描述都不对3 在一棵二叉树上第5层的结点数最多是___B___。

A、8B、16C、32D、154 下面描述中,符合结构化程序设计风格的是___A___。

A、使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B、模块只有一个入口,可以有多个出口C、注重提高程序的执行效率D、不使用goto语句5 下列模式中,能够给出数据库物理存储结构与物理存取方法的是__A____。

A、内模式B、外模式C、概念模式D、逻辑模式6 在下面附属类方法中的下划线处,应填入的正确参数是 C 。

public void writeData( throws IOException{GregoranCalendar calendar=new GregorianCalendar()calendar.setTime(hireDay);out.println(name+"|"+salary+"|"+calendar.get(Calendar.YEAR)+"|"+(calendar.get(Calendar.MONTH)+1)+"|"A、Employee[] eB、"employee.dat"C、PrintWriter outD、BufferedWriter7 在匹配器(Matcher)类中,用于输入字符串与模式串比较的方法是 A 。

A、static boolean matches()B、boolean matcher.find()C、int matcher.start()D、int matcher.end()8 下列内部类的正确用途是 B 。

java程序设计第三版答案

java程序设计第三版答案

java程序设计第三版答案Java程序设计第三版是一本广泛用于教学和自学的Java语言教材,由Y. Daniel Liang所著。

这本书涵盖了Java编程的基础知识和高级概念,包括数据类型、控制结构、类和对象、继承、接口、异常处理、集合框架、多线程、输入输出流、网络编程等。

以下是一些可能的练习题答案和解析,但请注意,具体答案可能因版本和题目的不同而有所差异。

第一章:Java入门练习题1:编写一个Java程序,打印出“Hello, World!”。

答案:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```解析:这个程序定义了一个名为`HelloWorld`的公共类,其中包含一个`main`方法,这是Java程序的入口点。

`System.out.println`用于在控制台打印文本。

第二章:数据类型、运算符和表达式练习题2:计算并打印出以下表达式的值:`(5 + 3.14) * 2 - 7 / 2`答案:```javapublic class ExpressionEvaluation {public static void main(String[] args) {double result = (5 + 3.14) * 2 - 7 / 2;System.out.println(result);}}```解析:在Java中,算术运算符的优先级是加法和减法低于乘法和除法。

因此,表达式首先计算括号内的加法和乘法,然后执行除法,最后进行减法。

第三章:控制语句练习题3:编写一个程序,使用for循环打印出1到10的整数。

答案:```javapublic class ForLoopExample {public static void main(String[] args) {for (int i = 1; i <= 10; i++) {System.out.println(i);}}}```解析:`for`循环由三个部分组成:初始化表达式、条件表达式和迭代表达式。

java程序设计第三版课后答案

java程序设计第三版课后答案

java程序设计第三版课后答案Java程序设计第三版课后答案在编写Java程序设计第三版的课后答案时,我们首先需要了解这本书的结构和内容。

通常,一本好的教科书会包含理论讲解、示例代码、练习题和课后习题。

课后习题是帮助学生巩固和应用所学知识的重要部分。

以下是一些可能的课后答案示例,但请注意,具体答案需要根据实际的习题来编写。

第一章:Java基础问题1:简述Java语言的特点。

答案:Java是一种面向对象的编程语言,具有跨平台性、健壮性、安全性、简单性、多线程和动态性等特点。

它的跨平台性主要得益于Java虚拟机(JVM)的存在,使得Java程序可以在任何安装有JVM的设备上运行。

Java的健壮性体现在其严格的类型检查和异常处理机制。

安全性则体现在其对内存的自动管理以及对网络编程的内置支持。

问题2:编写一个Java程序,输出“Hello, World!”。

答案:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```第二章:数据类型和运算符问题1:Java中的基本数据类型有哪些?答案:Java中的基本数据类型包括整型(byte, short, int, long),浮点型(float, double),字符型(char)和布尔型(boolean)。

问题2:编写一个Java程序,实现两个整数的加法,并输出结果。

答案:```javapublic class IntegerAddition {public static void main(String[] args) {int number1 = 5;int number2 = 10;int sum = number1 + number2;System.out.println("The sum is: " + sum);}}```第三章:控制流程问题1:Java中有哪些控制流程语句?答案:Java中的控制流程语句包括条件语句(if, switch),循环语句(for, while, do-while)以及跳转语句(break, continue, return)。

大数据应用开发(java)1+X模拟练习题(附答案)

大数据应用开发(java)1+X模拟练习题(附答案)

大数据应用开发(java)1+X模拟练习题(附答案)一、单选题(共98题,每题1分,共98分)1.socket 编程中,以下哪个 socket 的方法是不属于服务端的()?A、acceptB、listenC、connectD、close正确答案:C答案解析:connect 是客户端主动连接服务端的行为,因此 connect 不是在服务端操作的。

2.在数据库中,删除employees表的全部数据,以下正确的语句是:()。

A、DELETE TABLE FROM employeesB、DELETE TABLE employeesC、DELETE FROM employeesD、DELETE * FROM employees正确答案:C答案解析:删除数据的DELETE语句DELETE FROM TABLENAME3.如果一条 SQL 语句中同时出现了 where 子句、 order by 子句、group by子句、 having 子句,那么正确的执行顺序是?( )A、where,having,group by,order byB、having,where,group by,order byC、order by,where,having,group byD、where,group by,having,order by正确答案:D4.以下哪个用于完成左连接( )。

A、right joinB、natural joinC、joinD、left join正确答案:D5.下列约束中,哪一个属于参照完整性约束?( )A、UNIQUEB、FOREIGN KEYC、PRIMARY KEYD、DEFAULT正确答案:B6.下列关于类的定义,哪一个是正确的()。

A、abstract class C { void a() ; }B、abstract class C { abstract void a() ; }C、class C { abstract void a() ; void b() ; }D、class C { abstract void a() ; }正确答案:B答案解析:普通类中不能包含抽象方法,因此 C、D 错误;抽象类里既可以含有抽象方法,也可以含有普通方法,但是不能只包含普通方法,因此 A 错误。

JAVA 练习题第5章对象和类

JAVA 练习题第5章对象和类



)。 (A)内部类不能有自己的成员方法和成员变量 (B)内部类可用private或protected修饰符修饰 (C)内部类可以作为其他类的成员,而且可访问 它所在的类的成员 (D)除static内部类外,不能在类内声明static成 员
【解析】内部类也可以有自己的成员方法和变量。
答案为 A
函数。
super
2.类与对象的关系是( )。
答案为 A
(A)类是对象的抽象 (B)对象是类的抽象 (C)对象是类的子类 (D)类是对象的具体实例
3.下面哪一个是Java中不合法的标识符( )。
(A)$persons (C)_myVar
(B)twoNum (D)*pointFra bibliotek答案为 D
答案为 D
4.区分类中重载方法的依据是( A.形参列表的类型和顺序 B.不同的形参名称 C.返回值的类型不同 D.访问权限不同
)。
【解析】形参表的类型和顺序不同时区分重载方法的
唯一标志。
答案为 A
5.子类对象能否直接向其父类赋值?父类对象能否向其子类赋值?



( ) A.能,能 B.能,不能 C.不能,能 D.不能,不能 值给子类对象。
据成员。
答案为 C
4.有一个类B,下面为其构造方法的声明,正确 【解析】构造方法没有类型,且方法名与类名相同。
的是( )。 (A)void B(int x) (B)B(int x) {} (C)b(int x) {} (D)void b(int x) {}
{}
答案为 B

答案为 B
在创建对象时必须( )
A、先声明对象,然后才能使用对象 B、先声明对象,为对象分配内存空间,然后才能 使用对象 C、先声明对象,为对象分配内存空间,对对象初 始化,然后才能使用对象 D、上述说法都对

-Java编程技术基础(微课版)-习题答案课后习题答案1-14章全书章节练习题答案

-Java编程技术基础(微课版)-习题答案课后习题答案1-14章全书章节练习题答案

1.首先开发者编写的源程序是.java格式的,.java代码经过编译器的首次编译,生成字节码文件(.class文件),字节码文件是无法直接被计算机识别的,这一点与C语言不同。

字节码文件可以随平台进行移植,但无论在何种平台上运行都要经过JVM的解释,也就是将中间的字节码文件解释成计算机能够识别的机器语言,从而在各种环境下运行起来。

2.详见本章1.7.3节1.使用固定的编码格式对于编程而言有什么意义?编码是用预先规定的方法将文字、数字或其它对象编成数码,或将信息、数据转换成规定的电脉冲信号。

为保证编码的正确性,编码要规范化、标准化,即需有标准的编码格式。

2.如果没有关键字或者在程序中随意命名,可能会引发什么后果?代码混乱,自定义的变量等名称与已有功能无法分辨。

3. 常量与变量的区别以及各自的引用场合。

常量一旦定义了就不允许被修改。

往大的说,定义常量,是不想让某些固定的属性或方法被调用后改变了值,或者被继承后重写。

变量相对使用灵活,无论是创建还是销毁等。

4. 列举一些常见的数据,分析使用Java中什么数据类型表示更合适。

byte 年龄、short 年份、int 端口号、long 身份证号、boolean 是否为男性、char 字母表中的每个字母、float 汽车排量、double 圆周率。

5. 思考数组的优点与缺点,提出一些能使其更加方便的使用提议。

优点:使用简单缺点:长度不可变建议:可以自己写一个动态数组类,可动态控制其长度和元素顺序。

1.表达式中的运算符应该尽可能的简练吗?不应该,过于简练的代码会影响其阅读性。

2.循环语句与条件语句嵌套使用的弊端是什么,如何在开发中进行取舍?嵌套使用的弊端在于增加代码层次,影响其阅读性,在开发中应该在不影响功能和性能的前提下尽量的减少嵌套的使用。

3.break、continue、return有何异同点?相同点:都会改变程序本省的执行流程。

不同点:作用的力度不同。

1.创建一个包,编写一个学生类并提供适当的属性与行为。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北京阿博泰克北大青鸟信息技术有限公司
5、public class OuterClass {
private double d1 = 1.0; //insert code here } You need to insert an inner class declaration at line 3,Which two inner class declarations are valid?
a) class InnerOne{
public static double methoda() {return d1;} }
b) public class InnerOne{
static double methoda() {return d1;} }
c) private class InnerOne{
二、简答题 1. Anonymous Inner Class 是否可以 extends 其它类?是否可以 implements 接口? 2.内部类可以引用它包含类(也就是外部类)的成员吗?有没有什么限制? 3.如下 java 代码是否可以编译通过?如果存在错误,如何解决?如果编译通过,输出结 果是什么? public class OuterClass { private class InterClass { public InterClass() { System.out.println("InterClass Create"); } } public OuterClass() { InterClass ic = new InterClass(); System.out.println("OuterClass Create"); } public static void main(String[] args) { OuterClass oc = new OuterClass(); } }
内部类课后练习
一、选择题 1、以下关于 Java 的局部内部类的说法错误的是( ) 。 a) 局部内部类只能在当前类中使用 b) 局部内部类不能包含静态成员 c) 局部内部类可以访问外部类的所有成员 d) 在局部内部类中定义的内部类不能被 private 修饰符修饰 2、在 Java 中,阅读如下代码,则编译运行后的输出结果是( ) 。 public class TestI { public int x=1; private int y=2; class classinnerA{ protected void method1(){ System.out.print("method1"); } class classinnerAB{ private void method2(){ float ab=x+y+z; } } } class classinnerB extends TestI{ public float z=3; } } a) 编译通过,ab 的值运行后为 6 b) 编译报错,提示不能访问 x c) 编译报错,提示不能访问 y、z d) 编译报错,提示不能访问 z 3、static、abstract、final、private 都可以用于修饰静态内部类。 a) 正确 b) 错误 4、非静态内部类,有时也称为实例内部类,它具有以下特点,除了( ) 。 a) 在创建非静态内部类的实例时,外部类的实例不是必须存在 b) 非静态内部类的实例自动持有外部类的实例引用 c) 外部类实例和内部类实例之间是一对多的关系 d) 一个内部类实例只会引用一个外部类实例
double methoda() {return d1;} }
d) static class InnerOne{
protected double methoda() {return d1;} }
e) abstract class InnerOne{
public abstract double methoda(); }
北京阿博
相关文档
最新文档