1,作用域 public,protected,private,以及不写时的区别:
答:区别如下:
作用域 当前类 同一 package 子孙类 其他 package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
不写时默认为 friendly
2, ArrayList 和 Vector 的区别,HashMap 和 Hashtable 的区别, Collection 和 Collections 的区
别:
答:
就 ArrayList 与 Vector 主要从二方面来说:
一.同步性:Vector 是线程安全的,也就是说是同步的,而 ArrayList 是线程序不安全的,不是同步的;
二.数据增长:当需要增长时,Vector 默认增长为原来一培,而 ArrayList 却是原来的一半.
就 HashMap 与 HashTable 主要从三方面来说:
一.历史原因:Hashtable 是基于陈旧的 Dictionary 类的,HashMap 是 Java 1.2 引进的 Map 接口的一个
实现;
二.同步性:Hashtable 是线程安全的,也就是说是同步的,而 HashMap 是线程序不安全的,不是同步
的;
三.值:只有 HashMap 可以让你将空值作为一个表的条目的 key 或 value.
Collection 和 Collections 的区别:
Collections 是个 java.util 下的类,它包含有各种有关集合操作的静态方法。
Collection 是个 java.util 下的接口,它是各种集合结构的父接口。
3,char 型变量能不能定义为一个中文?为什么?
答:
是能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 16 个字节,所以放一个中文是没
问题的
4,多线程有几种表示方法,都是什么?同步有几种实现方法,都是什么?
答:
多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口
同步的实现方面有两种,分别是 synchronized,wait 与 notify
(
wait():使一个线程处于等待状态,并且释放所持有的对象的 lock。
sleep(): 使 一 个 正 在 运 行 的 线 程 处 于 睡 眠 状 态 , 是 一 个 静 态 方 法 , 调 用 此 方 法 要 捕 捉
InterruptedException 异常。
notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等
待状态的线程,而是由 JVM 确定唤醒哪个线程,而且不是按优先级。
Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞
争。)
5,继承时候类的执行顺序问题,(都是选择题)问你将会打印出什么?
答:父类:
package test;
public class FatherClass
{