102.JAVA关键字
- 格式:pdf
- 大小:156.82 KB
- 文档页数:6
11.可以用private或protected修饰内部类。
(对)2.非匿名内部类也可以实现接口。
(对)3.编译器会给内部类一个名字。
(对)4.匿名类可以是抽象类。
(错)5.一个方法使用throw关键字声明要产生的若干个异常。
(错)解析:一个方法声明时可以使用throws关键字声明要产生的多个异常,并在该方法体中具体给出产生异常的操作,使用throw关键字只能抛出一个异常。
6.类加载器加载程序运行所需要的所有类,由网络系统导入的指定类总是先被加载。
(错)解析:类加载器加载程序运行所需要的所有类,它通过区分本机文件系统的类和网络系统导入的类增加安全性。
7.调用System.gc()方法不能保证JVM立即进行垃圾收集,而只能是建议。
(对)8.friendly关键字是Java语言的访问控制修饰符。
(错)解析:Java语言的访问控制修饰符关键字为public、protected和private。
9.maxElements是一个成员变量,声明为:“public static final int maxElements=100”。
(对)10.实例变量在使用new Xxxx()创建该类的实例时被创建,而其生存期和该类的实例对象的生存期相同。
(对)11.在构造方法中如调用super()语句,则必须使其成为构造方法中的第一条语句。
(对)12.重写的方法的访问权限不能比被重写的方法的访问权限高。
(错)解析:重写的方法的访问权限不能比被重写的方法的访问权低。
13.类变量在该类被加载时被创建,不能用new Xxxx()创建,所有该类的实例对象共享类变量,其生存期是类的生存期。
(对)14.调用sleep()方法可以使一个线程停止运行。
(对)15.一个新线程启动start()方法,表示线程可为JVM的线程调度而不表示它可以立即运行。
(对)16.垃圾收集器的过程在Java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。
《JAVA程序设计》填空题1. Java是目前最广泛的网络编程语言之一。
2. Java具有简单、面向对象、稳定、与平台无关、解释型、多线程、动态等特点。
3. JDK开发java程序需三个步骤,分别为编写源文件,编译java源程序,运行java源程序。
4. Java具有简单、面向对象、稳定、与平台无关、解释型、多线程、动态等特点。
5.编写Java程序,可以使用一个文字编辑器来编写源文件。
6.把编写好的Java源文件保存起来,原文件的扩展名必须是java 。
7.用JDK编译Java源程序,使用的命令是Javac ,编译源文件得到字节码文件。
8. Java源程序编译后生成的字节码文件扩展名为class 。
9.用JDK运行Java应用程序,使用的命令是Java。
10. Java程序分为两类,即Java应用程序和Java小应用程序。
11.用JDK工具,显示Applet程序运行结果的命令是appletviewer。
12. Java程序分为两类,即Java应用程序和Java Applet小应用程序。
13.一个Java源程序是由若干个类组成。
14.class 是Java的关键字,用来定义类。
15. Java应用程序中有多个类时,java命令后的类名必须是包含了main 方法的那个类的名字。
16.一个Java应用程序必须且只有一个类含有main 方法。
17.在一个Java应用程序中main方法必须被说明为public static void。
18. Java中所有程序都使用方法,应用程序以main 方法开始。
19. Java源文件中有多个类,但只能有一个类是public类。
20.一个Java Applet 不再需要main方法,但必须有一个类扩展了Applet类。
21. Java Applet 必须有浏览器来运行。
22.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
23. Java语言规定标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字。
Java基础知识测试(含答案)共40道选择题,每题2.5分。
多选题有错则全错,全对才满分.单选题:1.下列哪个声明是错误的?(b)A.inti=10;B.floatf=1.1;C.doubled=34.4;D.byteb=127;2.下面哪个不是java中的关键字?(c)A.publicB.trueC.mainD.cla3.下面哪个语句不会产生编译错误?(c)A.floata=2.0;B.charc=”a”;C.byteb=25;D.booleand=0;4.下面程序哪个语句是正确的cA.bytea=0,b=3;bytec=a+b;B.hort=23;=+12;C.hort=23;+=12;D.floa tf=23+23.23;5.byte类型的大小是aA.-128~127B.-228~128C.-255~256D.-255~2556.下面程序执行的结果是?(b)publicclaTet(){publictaticvoidmain(String[]arg){Sytem.out.println(“”+a+1);}}A.98B.a1C.971D.1977.下面程序执行的结果是?(b)inti=100;while(true){If(i++>100)break;Sytem.out.println(i);}A.100B.101C.102D.1038.下面程序执行的结果是?(c)inta=2;witch(a){cae1:a+=1;break;cae2:a+=2;cae3:a+=3;break;cae4:a+=4;break;default:a=0;}Sytem.out.println(a);A.5B.6C.7D.89.下面程序的运行结果是(d)inta=3,b=1;if(a==b)Sytem.out.println(\A.a=1B.a=3C.编译错误D.正常运行但没有输出10.下面程序的运行后,a,b,c的值正确的是:binta=1,b=2;intc=(a+b>3a++:++b);A.a=2,b=3B.a=1,b=3C.a=1,b=2D.c=211.下面程序的运行结果bpublicclaDemo{publictaticintfun(intc){returnc+=2;}publictaticvoidmain(String[]arg){inttemp=fun(2);Sytem.out.println(temp);}}A.2B.4C.6D.812.下面程序的运行结果,哪个是正确的bintb=1;while(++b<3)Sytem.out.println(\A.程序将会进入死循环导致无输出B.输出一次LOOPC.会输出多次LOOPD.程序中含有编译错误13.下面数组定义错误的是(d)CA.int[]arr={23,45,65,78,89};B.int[]arr=newint[10];C.int[]arr=newint[4]{3,4,5,6};D.int[]arr={a,23,45,6};14.下面程序执行的结果是?(d)int某=1,y=1;if(某++==2&++y==2){某=7;}Sytem.out.println(\,y=\A.某=1y=2B.某=7y=1C.某=7y=2D.某=2y=215.下面不属于基本数据类型的是(b)A.intB.doubleC.longD.int[]16.给出下列代码:booleana=fale;booleanb=true;booleanc=(a&&b)&&(!b);intreult=(c==fale)1:2;执行完后,c与reult 的值是(a).A.fale和1B.true和2C.true和1D.fale和217.阅读下列代码:publicclaTet{publictaticvoidmain(String[]arg){intf=12;inti=3;Sytem.out.pr intln(f/i);}}程序运行结果为(c).A.3B.3.0C.4D.4.018.下面程序执行的结果是?(c)booleanb=true;if(b=fale){Sytem.out.println(\}eleif(b){Sytem.out.println(b);}eleif(!b){Sytem.out.println(\}eleSytem.out.println(\A.aB.tru eC.cD.d19.下面程序执行的结果是?(d)int某=2,y=3;witch(某){default:y++;cae3:y++;cae4:y++;}Syetem.out.println(\A.3B.4C.5D.638.下面哪几段代码不会出现编译错误(ac)A.booleanb=true;booleanb2=true;if(b==b2){Sytem.out.println(“Sotrue”);}B.inti=0;if(i){Sytem.out.println(“Hi”);}C.inti=1;intj=2;if(i==1||j==2)Sytem.out.println(“OK”);D.in ti=1;intj=2;if(i==1&|j==2)Sytem.out.println(“OK”);39.下面关于函数描述正确的是(ad)A.函数是对功能代码块的封装B.函数没有返回值的时候什么都不用写C.没有返回值的函数,不能有return语句D.函数是可以没有形参的40.下面关于循环描述正确的是(ad)A.while循环先判断循环条件,后执行循环操作B.while至少会执行一次C.do-while先进行循环条件判断,后执行循环操作D.do-while循环至少执行一次,后进行循环判断。
abstract - 1 - boolean - 2 - break - 2 -byte - 2 -case - 3 - catch - 3 -char - 4 -class - 4 - continue - 5 - default - 5 -do - 6 - double - 6 - else - 6 - extends - 6 - false - 7 -final - 7 - finally - 7 - float - 8 -for - 8 -if - 8 - implements - 9 - import - 9 - instanceof - 9 - int - 9 - interface - 10 - long - 10 -native - 10 -new - 11 -null - 11 - package - 11 - private - 11 - protected - 12 - public - 12 - return - 13 - short - 13 -static - 13 - super - 14 - switch - 14 - synchronized - 15 - this - 16 -throw - 16 - throws - 16 - transient - 17 -try - 17 -true - 18 -void - 18 - volatile - 18 - while - 18 -1.abstractabstract 关键字可以修改类或方法。
abstract 类可以扩展(增加子类),但不能直接实例化。
abstract 方法不在声明它的类中实现,但必须在某个子类中重写。
-示例-public abstract class MyClass{}public abstract String myMethod();-注释-采用abstract 方法的类本来就是抽象类,并且必须声明为abstract。
Java中的两个关键字——super、thisJava中的两个关键字——super、this ⼀、supersuper 是java中⽅的⼀个关键字,⽤它可以引⽤⽗类中的成员:super可⽤于访问⽗类中定义的属性super可⽤于调⽤⽗类中定义的成员⽅法super可⽤于在⼦类构造器中调⽤⽗类的构造器使⽤super关键字注意事项:1、当⼦类和⽗类都有同名的属性时,在⼦类中如果要使⽤⽗类的属性 super . 属性2、 super只能应⽤在成员⽅法和构造⽅法中,不能⽤在静态⽅法中(和this是⼀样的)3、如果在构造⽅法中使⽤必须放在第⼀⾏4、在构造⽅法中this()和super()不能同时出现super没有什么需要解释的地⽅,我们⽤代码来看看super具体的⼀些强⼤功能吧⽰例⼀、使⽤super调⽤基类的属性:public class Father { int num=20;}public class Child extends Father{ int num; public void print(){ num=10; super.num=30; System.out.println("num="+num); System.out.println("="+super.num); }}public class Test { public static void main(String[] args) { Child xm=new Child(); xm.print(); }}运⾏结果:⽰例⼆、使⽤super调⽤基类中的构造⽅法:public class Father { int num; public Father() { System.out.println("⽗类中的⽆参构造⽅法---"); } public Father(int num){ System.out.println("⽗类中的有参的构造⽅法----"+num); }}public class Child extends Father{ int num; public Child() { super(30); System.out.println("⼦类⽆参构造⽅法---"); } public Child(int num) { this.num = num; System.out.println("⼦类中的有参的构造⽅法---"+num); }}解释⼀下上⾯的这段代码:在Child类中的第⼀个构造函数⾥⾯,super(30);它会去调⽤⽗类中嗲有⼀个int型参数的构造⽅法。
关键字作用访问控制private私有的protected受保护的public公共的类、方法和变量修饰符abstract声明抽象class类extends继承、扩展final最终、不可改变implements实现interface接口native本地new新,创建static静态strictfp严格,精准synchronized线程、同步transient短暂volatile易失程序控制语句break跳出,中断continue继续return返回do运行while循环if如果else否则for循环instanceof实例switch观察case返回观察里的结果default默认错误处理try捕获异常catch处理异常throw抛出一个异常对象throws声明一个异常可能被抛出包相关import引入package包基本类型boolean布尔型byte字节型char字符型double双精度float浮点int整型long长整型short短整型null空TRUE真FALSE假变量引用super父类,超类this本类void无返回值保留字goto跳转const静态native本地详细说明private 关键字是访问控制修饰符,可以应用于类、方法或字段(在类中声明的变量)。
只能在声明 private(内部)类、方法或字段的类中引用这些类、方法或字段。
在类的外部protected 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。
可以在声明 protected 类、方法或字段的类、同一个包中的其他任何类以及任何子类(无public 关键字是可以应用于类、方法或字段(在类中声明的变量)的访问控制修饰符。
可能只会在其他任何类或包中引用 public 类、方法或字段。
所有类成员的默认访问范围都是abstract关键字可以修改类或方法。
abstract类可以扩展(增加子类),但不能直接实例化。
abstract方法不在声明它的类中实现,但必须在某个子类中重写。
1.Java是一种严格的面向对象语言,编写的所有代码都限定在类内完成。
2.Java中引入包的概念是为了减少命名冲突,扩大名字空间。
3.Java既是开发环境,又是应用环境,它代表了一种新的计算模式。
4.Java中的数组是用来表示一组同类型数据的数据结构,且数组是定长的,初始化以后,数组的大小不会再动态变化。
5.Java中的字符串是内存中连续排列的一个或多个字符。
6.Java的封装性体现在将方法和数据封装在一个类中。
7.Java中的每种事件类都有一个对应的接口,接口中申明了一个或多个抽象的事件处理方法,凡是需要接收并处理事件类对象的类,都需要实现相应的接口。
9.在Java中,使用构造函数是生成对象的唯一方法。
10.在Java中,this用于指代本类,super用于指代其父类。
11.在Java中,n维数组只是n-1维数组的数组。
12.在Java中,复合语句是一对花括号“{”和“}”括起来的语句组,也称为块。
从这种意义上说,类定义和方法定义都可以看作一个块。
13.在Java中,环境变量classpath将指示javac编译器如何查找所需要的对象。
14.如果Java文件中包含一个公有类,则该文件的文件名必须与该公有类一致。
15.语句是Java最小的执行单元,各语句间以分号分隔。
16.一个Java源文件可包括一个package语句和任意多个import语句,但package语句必须在前面。
17.Object是Java程序中所有类的直接和间接父类,也是类库中所有类的父类,处在类层次的最高点。
18.JVM的代码格式为压缩的字节码,因而效率较高。
19.OOP技术把问题看成是相互作用的事物的集合,用属性来描述事物,而把对它的操作定义为方法。
20.在访问权限修饰符中,protected修饰符和无修饰符时的根本区别仅在于不同包的子类是否可以对其访问。
21.static成员与类相对应,不需要创建对象就可使用。
22.在while循环中,循环体有可能一次也不执行。
Java关键字(keywords)abstract default if private thisboolean do implements otected throwbreak double import public throwsbyte else instanceof return transientcase extends int short trycatch final interface static voidchar finally long strictfp volatileclass float native super whileconst for new switchcontinue goto package synchronized以上是java specifications中定义的keywords,一共48个,其中常见的三个看似是关键字的true, false, null,都不是关键字,而是作为一个单独标识类型。
其中,不常用到的关键字有:const,goto,native,strictfp,transient,volatile。
const和goto为java中的保留字。
1. nativenative是方法修饰符。
Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。
因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于借口方法。
Native可以和其他一些修饰符连用,但是abstract方法和Interface方法不能用native来修饰。
Example:Java代码1.public interface TestInterface {2. void doMethod();3.}4.public class Test implements TestInterface {5. public native void doMethod();6. private native int doMethodB();7.public native synchronized String doMethodC();8.static native void doMethodD();9.}为什么需要使用native method?请参考:/topic/72543 java Native Method初涉2. strictfp修饰类和方法,意思是FP-strict,精确浮点,符合IEEE-754规范的。
一、单选题1、下面关于变量及其作用范围的陈述哪个是不对的?()A.实例变量是类的成员变量。
B.实例变量用关键字static声明。
//Static 声明的是类变量C.在方法中定义的局部变量在该方法被执行时创建。
D.局部变量在使用前必须被初始化。
2、下面哪条语句把方法声明为抽象的公共方法?()A.public abstract method();B.public abstract void method();C.public abstract void method(){}D.public void method() extends abstract;3、哪个是将一个十六进制值赋值给一个long型变量?()A.long number = 345L;B.long number = 0345;C.long number = 0345L;D.long number = 0x345L;4、下面的哪个赋值语句是不对的?()A.float f = 11.1;B.double d = 5.3E12;C.double d = 3.14159;D.double d = 3.14D;5、下面哪个是不合法的标识符?()A.$persons;B.TwoUsers;C.*point;D._endline;6、若在某一个类定义中定义有如下的方法:final void aFinalFunction( );则该方法属于()。
A、本地方法B、静态方法C、最终方法D、抽象方法7、main方法是Java Application程序执行的入口点,关于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 arg[ ])8、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
J A V A考试选择题(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--1.下列语句中那个语句没有语法错误( C )A byte=128;B Boolean=null;C long l=0xfffL;D double=;2.关于abstract类说法正确的是( C)A abstract类没有构造函数B abstract类没有子类C abstract类没有自身的对象D 以上都不正确3. 以下不是java关键字的是( D )A classB voidC intD juxing4. 以下不是java合法标识的是( A )A 1234B 中国C _helloD $dollor5. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B )。
A .javaB .classC .htmlD .exe6. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A )。
A static void method( )B public void method( )C final void method( )D abstract void method( )的作用是: ( AC )A 引用包B 定义包C 引用类D 定义类8.字符界面下接受用户从键盘输入,需要import的包是( C)A 包B 包C 包D 包9. 不作为类成员的访问控制符的是( C)。
A publicB privateC classD protected10. 下列关于构造函数说法不正确的是(D)A 类的构造函数和类同名B 一个类可以有多个构造函数C 在实例化对象时必须调用类的构造函数D 构造函数可以和该类其他方法一样被该类对象调用11.父类对象和子类对象说法不正确的是(B)A 子类对象可自动转换为父类对象B 父类对象可自动转化为子类对象C子类对象可以调用父类中定义的非private方法D 父类对象不可以调用子类中定义的方法12. 下面哪几个函数是public void example(){...}的重载函数?ADA public void example( int m){...}B public int example(){...}C public void example2(){...}D public int example ( int m, float f){...}13. 在如下源代码中(其中T1和T2已经定义), 哪个是没有语法错误( A )A public class Test{ public int x=0; public Test(int x) { = x; } }B public class Test extends T1, T2{public int x=0;public Test (int x){ = x; }}C public Test extends T1{ public int x=0;public Test(int x){ = x; }}D protected class Test extends T2{ public int x=0;public Test(int x){ =x; } }14. 下列标识符不合法的是()A. variableB. whatavariableC. $anothervarD. 2myvar15. 下面语句哪个是正确的( )A. char c='abc';B. long l=0xfff;C. float f=;D. int i=”56”;16. 以下修饰符中不可作为类的修饰符使用的是()A. publicB. staticC. abstractD. final17. Java中main()方法的返回类型是()A. StringB. charC. intD. void18. int m[]={1,2,3,4,5};则下列选项中能表示数组m的长度的是( )A. ()B. ()+1 以下由do-while语句构成的循环执行的次数是( )。
全国计算机二级Java题卷一一、选择题1.计算机中数据的最小单位是:A.字长B.字节C.位D.字符2.计算机中组织和存储信息的基本单位是:A.字长B.字节C.位D.编码3.能够直接反映一台计算机的计算能力和精度的指标参数是:A.字长B.字节C.字符编码D.位4.下列叙述中正确的是:A.有的二叉树也能用顺序存储结构表示B.有两个指针域的链表就是二叉链表C.多重链表一定是非线性结构D.顺序存储结构一定是线性结构5.下列各排序法中,最坏情况下时间复杂度最小的是:A.堆排序B.快速排序C.希尔排序D.冒泡排序6.某带链队列初始状态为front=rear=NULL。
经过一系列正常入队与退队操作后,front=10,rear=5。
该队列中的元素个数为:A.不确定B.5C.4D.67.某二叉树的前序序列为ABDFHCEG,中序序列为HFDBACEG。
该二叉树按层次输出(同一层从左到右)的序列为:A.ABCDEFGHB.HFDBGECAC.HGFEDCBAD.ACEGBDFH8.下面描述中正确的是:A.软件就是可执行的程序B.软件就是程序和数据C.软件就是程序和相关文档D.软件就是程序、数据及相关文档的集合9.下面对“对象”概念描述正确的是:A.操作是对象的动态属性B.属性就是对象C.任何对象都有继承性D.对象是对象名和方法的封装体10.在数据库的三级模式中,可以有任意多个:A.外模式(用户模式)B.模式C.内模式(物理模式)D.外模式和内模式11.下列关于面向对象的论述中正确的是_____。
A.面向对象是指以对象为中心,解析、设计和实现应用程序的机制B.面向对象是指以功能为中心,解析、设计和实现应用程序的机制C.面向对象仅适用于程序设计阶段D.面向对象是一种程序设计语言12.语句“Hello”. equals(“hello”);的正确执行结果是_____。
A.trueB.falseC.0D.113.下列关于Java源程序结构的论述中,正确的是_____。
《JA V A程序设计》复习题之(二)填空题1.Java是目前最广泛的__________编程语言之一。
2.Java具有简单、___________、稳定、与平台无关、解释型、多线程、动态等特点。
3.JDK开发java程序需三个步骤,分别为______________,编译java源程序,运行java源程序。
4.Java具有简单、面向对象、稳定、与平台无关、解释型、___________、动态等特点。
5.编写Java程序,可以使用一个__________来编写源文件。
6.把编写好的Java源文件保存起来,原文件的扩展名必须是___________。
7.用JDK编译Java源程序,使用的命令是__________,编译源文件得到字节码文件。
8.Java源程序编译后生成的字节码文件扩展名为__________。
9.用JDK运行Java应用程序,使用的命令是__________。
10.Java程序分为两类,即___________和Java小应用程序。
11.用JDK工具,显示Applet程序运行结果的命令是___________。
12.Java程序分为两类,即Java应用程序和___________。
13.一个Java源程序是由若干个___________组成。
14.__________是Java的关键字,用来定义类。
15.Java应用程序中有多个类时,java命令后的类名必须是包含了___________方法的那个类的名字。
16.一个Java应用程序必须且只有一个类含有___________方法。
17.在一个Java应用程序中main方法必须被说明为_____________。
18.Java中所有程序都使用方法,应用程序以______________方法开始。
19.Java源文件中有多个类,但只能有一个类是____________类。
20.一个Java Applet不再需要main方法,但必须有一个类扩展了_____________类。
二、判断题第一章java概述1.Java语言具有良好的安全性和可移植性及平台无关性对2.Java语言取消了联合概念,保留了结构概念错3.Java语言中数据类型占内存字节数与平台无关对4.Java语言中可用下标和指针两种方式表示数组元素错5.Java语言的源程序不是编译型的,而是编译解释型的。
对6.java语言既是面向对象的又是面象网络的高级语言. 错7.Java程序分为两大类:一类是Application程序,另一类是Applet程序。
前者又称为Java应用程序,后者又称java小应用程序对8.java Application程序是由多个文件组成,其中可以有也可以没有主文件. 错9.java application程序中,每一个类中,必有一个主方法main()方法。
错10.组成java Application的若干类中,有且仅有一个主类,只有主类中含有主方法main();对11.Java Application程序中,必有一个主方法main(),该方法有没有参数都可以。
对12.如果一个java程序中有多个类,编译后只生成一个字节码文件,其名字同主类名。
错13.Java程序中是不区分大小写字母的对14.Java程序编译后生成的字节码文件,其后缀是.exe 错15.在java程序中,使用import语句引入的类是在解释器中实现的对16.在运行字节码文件中,使用java命令,一定要给出字节码文件的扩展名。
class错第二章java语言基础17.Java语言标识符中可以使用美元符对18.分号,逗号和冒号都可用为java语言的分隔符对19.Java语言的复合数据类型有3种:数据、类和包错20.Java语言的基础数据类型有4种:整形,浮点型、字符型和布尔型对21.数据由高类型转换到低类型时,采用强制转换,数据精度要受到损失. 对22.布尔型常量可以自动转换为短整型常量错23.Java语言使用的是Unicode字符集,每个字符在内存中占8位错24.Java语言的字符串不隐含结束符对25.Java语言定义符号常量使用final关键字对26.Java语言中不同数据类型的长度是固定的,不随机构硬件不同而改变对27.字符型变量中只存放一个字符对28.定义变量时必须时行初始化, 否则变量具有无意义的值. 错29.若定义变量时不进行初始化,则该变量一定具有默认值对30.Java语言中,变量出现的位置只有一种,即为类体内定义的成员变量错31.Java语言规定在嵌套的程序块中不允许定义同名变量。
Java关键字(keyword)和保留字(reserved word)的用法在java中有48个关键字和2个保留字。
经过学习,借助了谷歌的力量我将这些关键字和保留字整理如下。
一.访问限定。
1.public关键字: public的意思是公有的,public作为关键字可以放在类前,表示这个类可以被其他包中的类的对象所访问。
Public限定的类在文件中只允许有一个,且类名必须与文件名相同。
如果public用来修饰方法,表示方法可以被其他包中的类调用。
如果public用来修饰属性,则可直接通过对象名.属性来访问对象的属性。
2.private关键字: private的意思是私有的,其可调用性范围最小。
在方法的前面加上private,则方法只能由内部的方法或者构造器调用,通常,属性都是用private限定的,而一般的类前,都不加private限定。
在类继承时,父类中的private方法将不能被子类继承。
当我们给某个构造器加上private修饰符时,则不能创建某个类的对象。
3.protected关键字:protected限定符界于public和private之间。
被protected限定的方法,子类可以继承,在同一个包内可以访问,在不同的包内不可以访问。
这些关键字的用法如上所述,但为了更好的理解一些细节的问题,大家可以看一下我对下面这些问题的总结。
那么,一个类中是否可以定义两个或者两个以上的public类?我们可以在eclipse 中运行一下,结果如下:由上可见,在一个类中,Public限定的类在文件中只允许有一个,且类名必须与文件名相同。
若在类里面还要创建一个类的话,那就只能是默认的,不可以加其他访问修饰符,或者,可以在已有的类的内部,再创建一个类,但名字必须不同与文件名。
若属性使用public进行修饰,就可以直接通过对象·属性来访问对象的属性。
输出结果是name=向聘。
这里就是直接通过创建的对象来访问st对象的name属性的。
Java语言程序设计(一)复习题一、选择题1、下面哪个不属于...Java语言的特点(C、编辑型)A、动态性B、面向对象C、编辑型D、多线型2、算符“&&”适用于数据类型()A、intB、longC、doubleD、boolean3、下列说法正确的是()A、不需定义类,就能创建对象B、属性可以是简单变量,也可以是一个对象C、属性必须是简单变量D、对象中必有属性和方法4、下面不是..合法Java标识符的是()A、abB、$_3C、3abD、ab35、下面不是..Java移位运算符的是()A、>>>B、<<<C、>>D、<<6、下面哪个不是..Java的关键字()A、doubleB、IntegerC、floatD、default7、下列算符中优先级别最高的是(C、!= )A、&B、&&C、!=D、?:8、关于main()方法说法正确的是()A、一个类中可以没有main()B、所有对象都必须放在main()方法中C、main()必须放在公共类中D、main()方法头的定义可以根据情况任意修改9、下列标签名中非法..的是()A、hereB、thereC、thisD、that10、下面各组中全部属于字型要素的是()A、字体、字形和大小B、字体、风格和字号C、字形、风格和字号D、字形、颜色和字号11、下列不是..构造方法特征的是()A、名字与类相同B、是无参考的C、是viod型D、是一种特殊方法12、关于代码“String [][]s=new String[10][];”的正确陈述是()A、该行代码非法B、s 是一10行10列的数组C、s 是一包含10个一维数组的二维数组D、s中每个元素设为""""""13、如想限制类本身对静态成员的访问,应该()A、用finalB、用privateC、不使用任何关键字D、不能限制14、下列不属于类的属性修饰符的是()A、publicB、abstractC、privateD、final15、一个创建对象的操作中,不包含...()A、释放内存B、对象声明C、分配内存D、调用构造方法16、下列关于封装性的说法中,错误..的是()A、是一种信息隐蔽技术B、使对象之间不可相互作用C、是受保护的内部实现D、与类有关,封装的基本单位是对象17、代码“new List (10,true);”的含义是()A、创建含10列的新列表B、创建含10行的新列表,且允许多重选择C、创建不多于10个选项的新列表D、创建含10行的新列表,每次选一项18、要为程序的子窗口设定一个由字符串s指定的名字,可以采用的代码是()A、JFrame(s)B、window(s)C、new JFrame(s)D、super(s)19、下列布局管理器中,哪一个会在前个组件相同行上放置组件,直到该组件超出容器的宽度,然后从新行开始,并把添加的组件居中放置()A、BorderLayoutB、CardLayoutC、FlowLayoutD、GridbagLayout20、滚动列表(List)每次选择选项,可以选择的个数是()A、1B、多个C、所有D、根据列表对象初始化参数确定21、Java源文件的扩展名是()A、.classB、.javaC、.javD、.cla22、Java注释方式不包括...C、/** … **/ ()23、下列说法正确的是()A、实例方法能对类变量和实例变量操作B、实例方法只能对类变量操作C、实例方法只能实例变量操作D、类方法能对类变量和实例变量操作24、下面均为Java关键字的一组是()A、boolean,byte,long,true " "B、byte, long,true,goto" "C、goto ,Boolean,byte,true" "D、bool, long,true,auto" "25、Java语言使用的字符集是()A、ASCIIB、EBCDICC、UnicodeD、BCD26、下面的四个选项中,均是八进制或十六进制数的是()A、-10,ox8f,011" "B、oabc,-017,oxc" "C、0010,-ox10,oxf1" "D、oa12,ox12,oxa " "27、下面的哪一项能正确生成5个空字符串()A、String a[]=new String [5]B、String 5[a]C、String [5]aD、String a[5]28、下列算符中优先级最低的是()A、++B、%C、?D、&29、Java中,一个类可以有几个父类(B、1 )A、任意B、1C、2D、430、类中不加任何访问权限限定的成员属于()A、defaultB、publicC、privateD、protected31、若有下面的类定义“class Bridge {Road road;} class Road{String name;}”它表示()A、"是什么"关系B、"有什么"关系C、二者都是D、二者皆不是32、this关键字的含义是表示一个()A、指针B、当前对象C、一个类D、一个方法33、一个消息的内容不包括...()A、消息接收者B、接受对象应采用的方法C、指示接受者做何处理D、方法的参数34、main()方法中有如下代码“Frame f=new Frame(""My Frame""); f.sd Size(100,100);”为在屏幕上显示该对象,应增加下面哪个代码()A、f.appear()B、f.set Foreground()C、f.set Visible()D、f.enable35、下列程序的执行结果是()public class Test{public static void main(String args[]){float t=9.0f; int q=5;System.out.println((t++)*(--q));}}A、40B、40.0C、36D、36.036、下列关于接口的说法,正确的是()A、接口与抽象类是相同的概念B、实现一个接口,必须实现接口的所有方法C、接口之间不能有继承关系D、一个类只能实现一个接口37、隐藏用户界面组件的指令是()A、disableB、setVisibleC、removeD、delete38、创建了一个选择控件对象后,将选项顺序加入到控件中的方法是()A、Choice ()B、remove (int)C、getSelectItem ()D、add (string)39、滚动列表(List)k可以产生几种事件()A、1B、2C、3D、440、设置组件的背景色可用方法()A、void setBackgroundColor(Color c)B、void setForegroundColor(Color c)C、void setBackground(Color c)D、void setForeground(Color c)41、Java的int型变量占内存的字节数是()A、1B、4C、2D、与机器有关42、下列选项中全部都是合法的实型常量的是()A、12.4,12,12.4f,12.4F" "B、12.0f,2e4f,12.0,6e-4" "C、6e,12.1,24f,25d" "D、13.6, 6e0.3,456.7d,e2" "43、下列说法错误..的是()A、一个类中的实例方法可以调用其他实例方法B、实例方法可以调用静态方法C、静态方法可以调用实例方法D、静态方法可以调用静态方法44、若定义int x=3,y;则执行语句y=(x++)+(x++)+(x++);后y= ()A、9B、12C、15D、1845、下面哪个是有效的Java标识符()A、max_numB、max-numC、3DogNightD、(train)46、以下关键字中哪一个是不可用来控制对类成员的访问()A、publicB、privateC、protectedD、default47、构造方法被调用是当()A、类定义时B、使用对象的属性时C、使用对象的方法时D、对象被创建时48、下列算符中优先级最高的是()A、+B、instanceofC、&&D、^49、不是面向对象技术特点的是()A、模块化B、封装C、继承性D、多态性50、接口体中不应..包含()A、常量定义B、常量赋值C、方法实现D、方法声明51、在成员变量与局部变量重名时,若想在方法内使用成员变量,要使用关键字()A、superB、importC、thisD、return52、下列定义中,哪一个是非法..的()A、class A{int a,b;…}" "B、class A{int i,j; i=j=10…}" "C、class A{int i; float f;…}D、class A{int i=12; float f1=1.2f;…}53、编译代码“class MySstring extends String{}”会出现的情况()A、成功编译B、不能编译,因为没有main方法C、不能编译,因为String是abstract类型的D、不能编译,因为String是final类型的54、若有定义“String tom=""boy"";String hill=""boy"";”则表达式(tom==hill)的值为()A、1B、trueC、falseD、055、下列关于继承的论述中,错误..的是()A、继承具有传递性B、继承关系也称为"即是"(is a)关系C、支持多继承D、继承提高了系统的可重用性56、为在容器底端放一个按钮,不管用户如何改变尺寸,用下面哪个布局管理器最简单()A、BorderLayoutB、GridLayoutC、FlowLayoutD、GridbagLayout57、把组件放在BorderLayout的下列哪个区域时,它会自动垂直调整大小,但不水平调整。