04747 JAVA语言设计必备考点整理(一)

标识符的命名规则
由英文字母大小写,数字,下划线,美元符组成的字符串,其中数字不能作为标识符的开头,区分大小写

 

package 语句和 import 语句的区别
package 语句: 包语句,每个文件最多有一个,必须放在文件开始的地方
import 语句: 引入语句,可以没有,可以由多个。如果有必须放在所有类定义的前面

 

请写出与数组相比, Vector 对象的特点
Vector 对象的大小可以根据需要来改变
Vector 对象保存的元素的类型可以不一样

 

请写出用 Thread 类的子类创建线程并启动线程所包含的步骤
1 、从 Thread 类派生出一个子类,在子类中一定要实现 run() 方法
2 、然后用该类创建一个对象
3 、用 start() 方法启动线程

 

请写出一个接口中能够包含的元素,及这些元素各自默认的修饰符
能够包含的元素:成员方法和成员变量
成员方法的修饰符: abstract
成员变量的修饰符: static final

 

请写出对类 String 的两个对象进行相等判定时,使用 “==” equals 方法的不同
1 “==” 判定两个 String 对象是否同一实例(或:它们在内存中的存储空间是否相同)。
2 equals ()方法判定两个 String 对象的内容是否相等(或:它们对应的字符是否相同)。

 

请写出方法覆盖的两个重要原则
1 )覆盖方法的允许访问范围不能小于原方法。
2 )覆盖方法所抛出的一异常不能比原方法更多。
文件父目录名称及文件长度的方法名。
文件名: getName()
文件路径名: getPath()
文件父目录名: getParent() 文件长度: length()

 

请写出二元逻辑运算中的 短路 操作功能
进行二元逻辑运算时 , 先计算运算符左侧表达式的值 (2 ),
如果使用该值能得到 整个表达式的值 , 则跳过运算符右侧表达式的计算 (1 )
否则计算运算符右侧表 达式 , 并得到整个表达式的值 (1 )

 

请写出为文本文件 abc.txt 创建 BufferedReader 对象 in 的代码
BufferdReader in =new BufferedReader(new FileReader("abc.txt"));
请写出创建 Font 类型对象 fn 的代码 ,fn 的属性值是 Courier 字体 ,BOLD 样式 ,20 磅字号。
Font fn=new Font("Courier",Font.BOLD,20);

 

请分别写出在类和方法中声明的变量的作用域。
类中:变量的作用域为整个类
方法中:变量的作用域是从声明处开始到包含该声明的语句块的结束处
(1) public 修饰的成员可以被其他任何对象访问。
(2) private 修饰的成员只能在本类内访问。
(3) protected 修饰的成员只可以被同一包及其子类的实例对象访问。
(4) 默认修饰符所修饰的成员可以被所在包中的各类访问。

 

请分别写出类定义中使用 public private protected 和默认修饰符所修饰的成员的访问权限
public public 修饰的成员可以被其他任何对象访问
private private 修饰的成员只能在本类内访问
protected protected 修饰的成员只可以被同一包及其子类的实例对象访问
默认:默认修饰符所修饰的成员可以被所在包中的各类访问

 

请写出对象转型的 2 条使用规则
(1) 沿类层次向 转型总是合法的 , 此种方式下不需要转型运算符。
(2) 对于向 转型 , 只能是祖先类转型到后代类 , 且要使用显式转换 , 其他类之间是不允许的。

 

请写出 Swing 中提供的 4 种顶层容器
JFrame
JApplet
JDialog JWindow

 

请写出 Java 语言中线程的组成内容及其调度方式
组成:虚拟的 CPU, 执行的代码,处理的数据,三部分组成
调度方式:抢占式调度

 

请写出重载方法的 2 条规则
1 )调用语句的实参列表必须足够判明要调用的是哪个方法。实参的类型可能要进行正常的扩展提升。
2 )方法的返回类型可以相同也可以不同。

 

请分别写出 final 类和 final 方法的特点
final 类不能被继承 ;final 方法不能被覆盖

 

请分别写出线程控制中方法 start() yield() 的功能
start() 用于启动线程对象 ;yield() 用于强制终止线程的执行

 

说明嵌套的 if 语句中 ,if else 的个数应满足的条件及 else 语句的对应规则
(1)if 的个数等于或多于 else 的个数。
(2)else 子句属于逻辑上离它最近的 if 语句,即同一块中还没有匹配 else 的最近的 if.

 

如果方法的形参是引用类型 , 则在调用方法时 , 实参传递的内容是什么 ? 当从方法返回时 , 对实参有何影响 ?
(1) 在调用方法时 , 将实参的首地址传递给形参
(2) 从方法返回时 , 对形参的修改也即修改了实参。

 

若让数组 A 含有 “Java" “program “My”3 个字符串 , 请写出创建数组并进行静态初始化的两种不同的语
句形式
1.String[]A={"Java","program","My"};
2.String[]A=new String[3];
3.String[0]="Java";
4.String[1]="program";
5.String[2]=“My”

 

在同一个类中 , 同名的方法之间是什么关系 ? 在不同的类中 , 同名的方法之间是什么关系 ?
(1) 同一个类中 , 具有不同签名的同名方法是重载方法。 (2) 具有继承关系的类之间 , 有相同参数表的同名方法是重写方法 , 后代类中的方法覆盖了祖先类中的同名方
法参数表不同的同名方法是重载方法。其他不同类中 , 同名方法没有关系。

 

什么是轻量级组件 ? 什么是重量级组件 ? 在程序中同时使用轻量级组件和重量级组件时 , 会有什么显示效果 ?
轻量级组件:不包含本地代码的组件
重量级组件:包含本地代码的组件
组件区域重叠时,重量级组件显示在上面

 

写出 while 语句和 do 语句中循环体的执行情况
(1)while 语句先判断条件表达式的真假,为真时执行循环体,为假时循环执行结束。如果初始时条件表达式
为假,则循环体一次也不执行。
(2)do 语句在执行一次循环体后,再判断条件表达式的真假,为真时再次执行循环体,为假时循环执行结束。
不论初始时条件表达式为何值,循环体都至少执行一次。

 

重载方法的返回值类型是否一致?返回值类型是否以作为区分重载方法的依据?请解释原因
(1) 重载方法的返回值类型可以相同也可以不同。
(2) 返回值类型不可以作为区分重载方法的依据。
(3) 选择调用哪个方法是在执行方法体之前进行的,此时尚不知道返回值是什么,所以不能确定返回值的类
型,故不可以依据返回值类型来区分重载方法。

 

分别写出对应于 int char void byte 的包装类名
Integer Character Void Byte

 

列出 JOptionPane 类中的 4 种标准对话框及对应的静态方法名
(1) 确认对话框, showConfirmDialog()
(2) 输入对话框, showInputDialog()
(3) 信息对话框, showMessageDialog()
(4) 选项对话框, showOptionDialog()

 

Java 基本数据类型自动转换的顺序
byte short char long float

 

简要叙述 try-catch 块的处理过程
(1) 如果 try 块内没有发生异常,则 try 块内的语句全部执行,然后执行 catch 块后的语句。 (2) 如果在 try 块内发生了某类异常,则执行立即转到对应的 catch 块,执行其中的语句去处理异常。
(3) 不论是否捕获到异常,总要执行 finally 后面的语句。

 

简要叙述包装类的用途。包装类定 . 义在哪个包中?
(1) 当想用处理对象一样的方式来处理基本类型的数据时,必须将基本类型值 包装 为一个对象。
(2) 所有的包装类都定义在 java.lang 包中。

 

什么是单重继承与多重继承? Java 中的继承是哪一种?
(1) 单重继承是指一个类只能有一个父类。
(2) 多重继承是指从多个类共同派生一个子类,即一个类可以有多个父类。
(3)Java 实现的是单重继承。

 

简要叙述线程死亡的两个原因
1 run() 方法中的最后一条语句正常执行完毕
2 、线程异常退出

 

写出在循环语句中, break 语句和 continue 语句的功能
break 语句:跳出循环体内的剩下语句,执行循环体后面的语句
continue 语句:跳出本次循环,继续执行下一次循环

 

什么是数组的静态初始化和动态初始化?
1 )数组的静态初始化:在定义数组的同时给数组元素赋初值。
2 )数组的动态初始化:定义数组时使用运算符 new 为数组分配空间。

 

写出接口定义时对其数据成员变量和方法的要求
1 )接口中的数据成员变量一定要赋初值,且此值不能再更改。
2 )接口中的方法必须是抽象方法。

 

写出语句 Ellipse2D ellipse = new Ellipse2D. Double(50, 80, 20, 30); 的功能
声明并创建椭圆,其左上角坐标为( 50 80 ),宽为 20 ,高是 30

 

写出 Java 线程调度所采用的优先级策略
优先级高的先执行,优先级低的后执行
每个线程创建时都会被分配一个优先级,默认情况下,继承父类的优先级 任务紧急的线程,其优先级较高
同优先级的线程按 先进先出 的原则进行调度
  • 31
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值