JAVA理论基础题库_干货|JAVA基础题库

一、选择题

1.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是(C)

A、public B、private C、protected D、无修饰

private:Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。

default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。

protected:介于public和private之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。

public:Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包访问。

2.在以下供选择的方法中,属于接口MouseMotionListener的方法是(D)

A、mouseReleased()B、mouseEntered()C、mouseExited()D、mouseMoved()

3.以下是关于线程的叙述,正确的是(C)

A、多线程的使用可以提高设备的平行工作能力,但是使系统管理变得复杂

B、同一个进程下的线程都有自己的状态、专用数据段和独立的内存资源

C、线程是能独立运行的程序

D、进程的执行效率比线程的执行效率高

4.在编写访问数据库的Java程序时,ResultSet对象的作用是(D)

A、建立新数据库连接B、用来表示与数据库的连接

C、在指定的连接中处理SQL语句D、存储查询结果

5.关于方法main()的说法哪个正确?(C)

A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改

C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中

6.抽象方法:(C)

A.可以有方法体(错)B.可以出现在非抽象类中

C.是没有方法体的方法D.抽象类中的方法都是抽象方法

7.this和super:(C)

A.都可以用在main()方法中B.都是指一个内存地址

C.不能用在main()方法中D.意义相同

8.字符流与字节流的区别在于(D)

A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写

C.二者没有区别,可以互换使用D.每次读写的字节数不同

9.类B是一个抽象类,类C是类B的非抽象子类,下列创建对象x1的语句中正确的是(C)。(抽象类不能被实例化,即不能创建对象)

A.B x1=new B();B.B x1=C();

C.C x1=new C();D.C x1=new B();

10.线程对象的生命周期中,哪个不是其经历的状态(A)。

(五种基本状态:新建;就绪;运行;阻塞;死亡)

A.中断B.运行C.就绪D.死亡

11.对于可以随着窗口的宽度变化而改变相应的控件的位置的布局对象是哪一种(A)

A、FlowLayout B、GridLayout

C、BordyLayout D、CardLayout

12、对于import java.awt.Button;以下那种说法错误(D)

A、Button属于java.awt包B、Button在java.awt目录下

C、Button在java.awt文件中D、Button属于Sun的类

13、用abstract定义的类(D)

A、可以被实例化B、不能派生子类

C、不能被继承D、只能被继承

14、continue语句(C)

A、只中断最内层的循环B、只中断最外层的循环

C、只中断所在层循环中的当次循环D、只中断某一层的循环

15、每个使用组件的程序必须有一个(B)

A、按钮B、容器C、菜单D、标签

16、在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的(D)方法来完成一些画图操作。

A.start()B.stop()

C.init()D.paint()

二、判断题

1.对于容器javax.swing.JPanel,它的默认布局是BorderLayout。(×)JPanel中的默认布局是FlowLayout

2.Socket通常也称为套接字,用于描述IP地址和端口。(√)

3.线程的优先级在1至10之间,数值越小任务越紧急。(×)

线程的优先级用1-10之间的整数表示,数值越大优先级越高,即越高执行越快,默认的优先级为5。

Java语言的类只允许单继承。(√)

5.Java源程序的扩展名是.java,经过编译后的程序的扩展名是.class。(√)

6.在一个时间只能由一个线程访问的资源称为临界资源。访问临界资源的代码称为临界代码。(×)

多个线程间共享的数据称为临界资源

7.并发就是事件、任务在同一时刻开始。(×)(并行才是同一时刻开始)

8.URL在网络中是唯一的。(√)(一个URL必须唯一地,永久地代表一个在线对象)

三、填空题

1.Java语言采用多种机制来保证可移植性,其中最主要的是___java虚拟机___。

2.程序包声明的格式是__package包名.包名.包名…;。

3.当联编推迟至运行时间实现时,该联编过程称为_动态联编_____。

4.使用默认字节字符对应表,将字符串转化为字节数组的方法是___getBytes();。

5.在Swing中,带有滚动条的面板的类名是__JScrollPanel____。

6.组合框(JComboBox)是____文本框和列表_____的组合。

7.在Java语言中,文件随机访问可以利用___RandomAccessFile___类实现。

8.Java程序可以用纯Java的___JDBC_____驱动程序,实现与数据库连接。

9.下列哪个叙述是不正确的?(B)

A.JButton在javax.Swing包中

B.ActionEvcent在java.awt包中(其实在javax.Swing包中)

C.ActionListener在java.awt.event包中

D.Font类在java.awt包中

10.下列流中哪些不属于字节流(D)(菜鸟教程IO流讲解里面有详细介绍)

A.FileInputStream B.BufferedInputStream C.FileInputStream D.InputStreamReader

四、简答题

1.请写出Applet类中init()方法的功能。

init()方法:主要是为了Applet的正常运行做一些初始化的工作。

2.请写出空布局安置组件的两个步骤。

1)首先利用setLayout(null)语句将容器的布局设置为null布局(空布局)。

2)再调用组件的setBounds(int x,int y,int width,int height)方法设置组件在容器中的大小和位置,单位均为像素。

3.在Swing中,对话框有几种?并请写出它们的主要区别。

五种:文件对话框、消息对话框、输入对话框、确认对话框、颜色对话框

实现功能不同,调用的函数也不同

4.请写出用Runnable接口实现多线程的主要工作。(注意大小写类名以及变量的名称)

Public class MyRunnable implements Runnable{

Public void run(){

for(int i=0;i<10000;i++){

System.out.println("aaaaaaaaaaaaa");

}

}

Public class TestDemo{

Public static void main(String[]args){

MyRunnable mr=new MyRunnable();

Thread t=new Thread(mr);

T.start();//线程启动

}

}

5.编写一个程序,创建一个文本文件,从键盘输入字符到这个文本文件中,以END结束。

注意大括号不要漏了

import java.io.*;

import java.util.Scanner;

public class Demo4{

public static void main(String[]args){

//TODO Auto-generated method stub

System.out.println("请输入字符:");

Scanner scanner=new Scanner(System.in);

String str=scanner.next();

File f=new File("d:\\ss.txt");

//字节流输出

FileOutputStream fos=null;

try{

fos=new FileOutputStream(f);

//定义一个数组

byte[]bytes=new byte[1024];

//如何把String转换成byte数组

fos.write(str.getBytes());

}catch(Exception e){

//TODO Auto-generated catch block

e.printStackTrace();

}

finally

{

try{

fos.close();

}catch(IOException e){

//TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

6.Java语言的特点。

Java语言的特点:

(1)简单的

(2)面向对象的

(3)分布式的

(4)健壮性的

(5)安全的

(6)体系结构中立的

(7)可移植的

(8)解释型的

7.在Java中,怎样创建一个线程?

(1)通过继承Thread类创建线程

(2)通过实现Runnable接口创建线程

(3)通过Callable和Future创建线程

8.事件处理的三要素是什么?

1)事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;

2)事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等;

3)事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件;

9.抽象类与接口有何不同?

抽象类中可以存在非抽象的方法,接口中的方法被默认的变成抽象方法;

(2)实现抽象类的方法时,如果方法是抽象的,子类必须重写抽象的方法.如果方法不是抽象的,子类可以选择继承,实现了接口就必须实现接口中的所有方法,因为接口中的方法默认的全部都是抽象的方法;

(3)抽象类可以有私有的成员变量和成员方法,接口中的方法全都被默认的修饰为:public abstract类型的方法;

(4)一个类只能继承一个抽象类,一个类可以实现多个接口,接口可以实现多继承

(5)抽象类中的非抽象的方法可以选择继承,接口中的方法必须全部被重写,并且全部是公有的public方法.

  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值