102.JAVA关键字
java 期末判断题(含答案)

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填空题2

《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判断题

126.关键字break和continue可以在循环中使用,break关键字立即终止包含break的最内层循环, continue关键字只是终止当前迭代。 t
127.方法中的形参可以和方法所属类的属性同名 t
102. 父类的方法是private的,子类也可以覆盖 f
103. 子类覆盖父类的方法时,权限不能比父类的权限小 t
104. 如果父类不是抽象类,那么子类也不能是抽象类 f
105. 尽管一个类没有抽象方法,该类仍然可以声明成抽象的 t
106. 抽象类一定不能用private修饰 f
95. class Aclass{
void go(){
System.out.println("Aclass"); } Nhomakorabea}
public class Bclass extends Aclass{
void go(){
System.out.println("Bclass");
int x = y + y;
}
public static void main(String[] args){
int x = 20;
Test t = new Test();
t.method(x);
System.out.println(“x=” + x); 20
}
41、抽象类一定不能用private修饰 f
42、抽象类可以用final修饰 f
43. 接口也是单继承的 f
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循环至少执行一次,后进行循环判断。
Java关键字大全

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、this

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型参数的构造⽅法。
java关键字大全(关键字)

关键字作用访问控制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方法不在声明它的类中实现,但必须在某个子类中重写。
昆工 java期末考试题库

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循环中,循环体有可能一次也不执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于 package,import ,class 的顺序问题 1, 首先需要定义包。可选 2, 接下来使用 import 导入,可选。 3, 然后才是 class 或 interface 的定义。
3, 内部类中的 this 代表内部类对象,若想引用外部类对象,this 前面需要加外部 类的类名。
4, 在构造函数中,可使用 this(实参)来调用该类的其他构造函数。需注意,调 用代码只能在第一行,在别的方法中不能这样调用构造函数,在一个构造函数 中只能调用一个构造函数。
public class ThisDemo {
static 1, 静态可修饰(成员变量)属性,可以修饰方法,还可修饰类。 2, 静态变量被类的所有实例所共享,而实例存储的是特有的数据。 不同的类间可以用类名访问,类内部用变量名直接访问。 3, 静态变量在所在类加载时就完成了初始化,什么是初始化?initialization (赋值 的过程。) 4, 静态方法内部不能直接访问外部非静态的成员,对非静态的访问需要创建对 象。 也就是静态方法只能够访问静态成员(访问的局限性) 5, 静态方法中不能使用 this 关键字,因为类加载时本类还没有生成对象,this 无 从引用。 6, 静态的生命周期最长,随类的加载而加载,优先于对象存在,所以不能定义重 名的静态。 7, 静态方法不存在继承,不能重写。 8, 非静态成员方法能直接访问本类中的静态成员和非静态成员。 9, 主函数是静态的。
a) 直接编译,然后根据类中所定义的包名,逐一手工建立目录结构,最后将生成 的 class 文件放到该目录结构中,(比较麻烦)
b) 使用编译参数-d,方式为 javac —d。源文件。java,这样在编译后,编译器会 自动帮我们建立好包所对应的目录结构。
5, 有两个包名,分别是 aa。bb。cc 与 aa。bb。cc。dd,我们称后者是前者的子包。
什么时候使用 Static 关键字: 对于成员属性:在描述类时,要求该属性在每个对象中的值是相同的,就将该属性定义 成 Static 对于成员函数:如果该类所有函数不用访问对象中封装的特有数据,用 Static 修饰。 该方法所在类就不需要建立对象,为了严谨性,将该类的构造函数私有化, 强制不让使用者建立对象。只要用类名调用即可。 Static 代码块
用于定义数据类型值的关键字 true false null instanceof;判断某个对象是否是某个类的实例, 语法形式;引用名 instanceof 类名(接口名)返回一个 boolean 值。 System。out。println(Man instanceof People);ture
用于定义流程控制的关键字;流程就是做一件事情的顺序,在程序设计中,流程就是要完成 一个功能。
下面的好好理解。 class Container {
Component comp; public void addXomponent(){
comp = new Component(this);//将this作为对象的引用传递。 } } class Component{ Container myContainer; public Component(Container c){
new 1, new 关键字在生成对象时完成了三件事: a) 为对象开辟了内存空间 b) 调用了类的构造方法 c) 将生成的对象地址值返回给调用者。
对 Person p = new Person(); 的理解 1, 将 Person.class 文件加载进内存。 2, 在堆内存中开辟对象空间,并分配内存地址值。 3, 对对象中的属性进行默认初始化 4, 对对象中的属性进行显性初始化 5, 对对象进行构造代码块初始化 6, 对象进行对应的构造函数初始化。 7, 在栈内存建立 p 变量, 8, 将对象的地址值赋给 p,让 p 指向该对象。 一个类用什么方式创建一个对象? 回答是构造器,构造函数。
封装的原则 1, 通常属性都是隐藏起来的 2, 开发的时候,不需要对外提供的都隐藏起来
2,用于定义类,函数,变量修饰符的关键字 abstract final 能加强类和方法的封装性。想当是一把锁, 1, final 可以修饰属性,方法,类。 2, 当一个类被 final 修饰时,表示该类是一个终态类,即不能被继承,方法不能被 复写,字段不能被修改。 3, final 修饰方法表示该方法是一个终态方法,即不能被重写(Override) 4, final 修饰属性,表示该属性不能被改写。 a) 当 final 修饰一个原生数据类型时,表示该原生数据类型的值不能发生改 变,(比如;不能从 10 变成 20;) b) 如果 final 修饰一个引用类型时,表示该引用类型不能在指向其他对象, 但该对象的内容是发生变化的。 5, final 修饰的成员变量有两种赋初值的方式, a) 在声明 final 类型的成员变量时就赋上初值。 b) 在声明 final 类型的成员变量时不赋值,但在类的所有构造方法中都为其 赋值。 6, 一个类不能既是 final,又是 abstract ,因为 abstract 主要定义一种约定,让子 类去实现这种约定,而 final 表示该类不能被继承。 7, 内部类定义在类中的局部位置上的时候,只能访问用 final 修饰的局部变量,
封装;是一种编程思想,将实现细节进行隐藏,对外提供公共的访问对其访问的方法 私有是封装的体现之一 函数是最小的封装体,类,包,框架都是封装体 好处: 1,提高了安全性,将属性或功能隐藏,防止非法改动或误操作带来的不符合逻辑和不稳定 2, 提高了复用性 能根据需要多次调用 3, 隔离了变化 保持整体性,方便后期的维护 4, 便于使用 更能强化开发人员的面向对象的思维,满足客户的要求
import 导入,把使用 package 分离的包导入回来,让编译器能找到所需要的类。 如果两个类在同一个包里面,那么则不需要导入,直接使用即可。
7,其他修饰符关键字 native stictfp transient volatile assert
8,用于定义数据类型的关键字 class interface; bytes short int long float double char boolean void
2 继承中的方法关系 a) 子类和父类中的方法是能出现重载的。 b) 相同的方法是能够覆盖的。(返回值和方法名相同),但是子类的访问权限要大 于或者等于父类中Байду номын сангаас同名方法。父类的同名函数只是没有运行而已。 c) Private 修饰的同名函数是不能够被覆盖的, d) 覆盖的特点是编译看父类,运行看子类。
String name;
int age; ThisDemo(String name){
= name; } ThisDemo(String name,int age){
/*在构造函数中用this调用另一个构造函数。*/ this(name); this.age= age; } }
代码块,一直执行到最底层类的静态代码块,然后再去执行最顶层类的构造方 法,一直执行到最底层的构造方法。 synchronized
3,用于定义类和类之间关系的关键字 extends 打破了封装性。 1 继承中的变量关系 a) 子类和父类中的同名变量需要使用 this 和 super 引用。 b) 父类中有的变量而子类中没有的变量,可以在子类中直接的调用,除非是用 private 修饰。 c) 变量是没有覆盖特性的。 d) 父类的变量是和子类的变量是在同一个堆内存中的。
3 继承中的构造函数关系 a) 构造函数是不能够被覆盖的。 b) 但是在调用子类对象的时候,JVM 实质是先走的父类的空参数的构造函数(不 是空参数的构造函数是不会调用的。),再走得是子类的构造函数。在子类的所 有的构造函数中的最前面,有个隐式的 super();
implements [‘impliment] 4,用于定义建立实例及引用实例,判断实例的关键字
this 代表的是一个本类对象的引用。对象的类型是确定的。具体是哪个对象,就要 看是哪个对象调用 this 所在类的对象。
1, this 关键字一般用于方法中,this 代表一个对象的引用,具体引用那个对象, 就看调用 this 所在方法的是那个对象。
2, 需要在类中指明使用对象自己的变量或函数时,就应该加上 this,此时的 this 是指当前对象自己。=name;
那调用的方法是怎么得到返回值的呢?
public static void main(String[] args){ int num = run(); System.out.println(num);
}
public static int run(){//有返回值 int x = 1; return x++;// x++是先将 1 赋值给 x ,装到一个箱子中保存给调用者,x 再加加,然
关键字:所有关键字都是小写的。Java 语言赋予特殊含义的单词。 1, 用于定义访问权限修饰符的关键字 :实现类的封装性,一个类通常就是一个小的模块,
我们应该让模块仅仅公开必须要让外界知道的内容,而隐藏其他一切内容。而在进行程 序的详细设计时,应避免一个模块直接修改和操作另一个模块的数据,模块的设计追求 强内聚,许多功能尽量在类的内部独立完成,弱耦合,提供给外部尽量少的方法调用。
private :私有的,被 private 修饰的属性和方法只能被类内部使用。 protected:受保护的,被 protected 修饰的属性和方法可在类的内部,相同包以及该类的 子类所访问。 默认 :不加任何修饰,在类内部以及相同包下面的类所使用。 public:公共的,被 public 所修饰的属性和方法可被所有的类访问。
if else switch case default while do for break continue
return return 的用法:方法的 return 是最后一步,return 后方法才能被释放。