面试题

1 、作用域 public,private,protected, 以及不写时的区别
答:区别如下:
作用域             当前类         同一 package   子孙类         其他 package
public            √                     √                  √              √
protected        √                    √                  √               ×
friendly          √                    √                   ×             ×
private           √                     ×                   ×             ×
不写时默认为 friendly

2 、 ArrayList 和 Vector 的区别 ,HashMap 和 Hashtable 的区别
答:就 ArrayList 与 Vector 主要从二方面来说 .
一 . 同步性 :Vector 是线程安全的,也就是说是同步的,而 ArrayList 是线程序不安全的,不是同步的
二 . 数据增长 : 当需要增长时 ,Vector 默认增长为原来一培,而 ArrayList 却是原来的一半
就 HashMap 与 HashTable 主要从三方面来说。
一 . 历史原因 :Hashtable 是基于陈旧的 Dictionary 类的, HashMap 是 Java 1.2 引进的 Map 接口的一个实现
二 . 同步性 :Hashtable 是线程安全的,也就是说是同步的,而 HashMap 是线程序不安全的,不是同步的
三 . 值:只有 HashMap 可以让你将空值作为一个表的条目的 key 或 value

3 、 char 型变量中能不能存贮一个中文汉字 ? 为什么 ?
答:是能够定义成为一个中文的,因为 java 中以 unicode 编码,一个 char 占 16 个字节,所以放一个中文是没问题的

4 、多线程有几种实现方法 , 都是什么 ? 同步有几种实现方法 , 都是什么 ?
答:多线程有两种实现方法,分别是继承 Thread 类与实现 Runnable 接口
同步的实现方面有两种,分别是 synchronized,wait 与 notify

5 、继承时候类的执行顺序问题 , 一般都是选择题 , 问你将会打印出什么 ?
答 : 如下: 父类:
package  test;
public   class   FatherClass
{
    
public FatherClass()
 
{
  System.out.println(
"FatherClass Create");
 }

}

子类:
package  test;
import  test.FatherClass;
public   class   ChildClass  extends  FatherClass
{
 
public ChildClass()
 
{
  System.out.println(
"ChildClass Create");
 }

 
public static void main(String[] args) 
 
{
  FatherClass fc 
= new FatherClass();
  ChildClass cc 
= new ChildClass();
 }

}

输出结果:
C:\>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create

6、内部类的实现方式?
答:示例代码如下:
package  test;
public   class   OuterClass
{
 
private class InterClass
 
{
  
public InterClass()
  
{
   System.out.println(
"InterClass Create");
  }

 }

 
public OuterClass()
 
{
  InterClass ic 
= new InterClass();
  System.out.println(
"OuterClass Create");
 }

 
public static void main(String[] args) 
 
{
  OuterClass oc 
= new OuterClass();
 }

}

输出结果:
C:\>java test/OuterClass
InterClass Create
OuterClass Create

7floatfloat f=3.4 是否正确 ?
: 不正确。精度不准确 , 应该用强制类型转换,如下所示: float f=(float)3.4

8
、介绍 JAVA 中的 Collection FrameWork( 包括如何写自己的数据结构 )? 
答: Collection FrameWork 如下:
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
 └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap

9、抽象类与接口?
答:抽象类与接口都用于抽象,但是抽象类(JAVA)可以有自己的部分实现,而接口则完全是一个标识(同时有多重继承的功能)

10Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 
:Server端程序:
package  test;
import  java.net. * ;
import  java.io. * ;

public   class  Server
{
 
private ServerSocket ss;
 
private Socket socket;
 
private BufferedReader in;
 
private PrintWriter out;
 
public Server()
 
{
  
try
  
{
   ss
=new ServerSocket(10000);
   
while(true)
   
{
    socket 
= ss.accept();
    String RemoteIP 
= socket.getInetAddress().getHostAddress();
    String RemotePort 
= ":"+socket.getLocalPort();
    System.out.println(
"A client come in!IP:"+RemoteIP+RemotePort);
    in 
= new BufferedReader(new 

InputStreamReader(socket.getInputStream()));
    String line 
= in.readLine();
    System.out.println(
"Cleint send is :" + line);
    out 
= new PrintWriter(socket.getOutputStream(),true);
    out.println(
"Your Message Received!");
    out.close();
    in.close();
    socket.close();
   }

  }
catch (IOException e)
  
{
   out.println(
"wrong");
  }

 }

 
public static void main(String[] args)
 
{
  
new Server();
 }

}
;
Client 端程序 :
package  test;
import  java.io. * ;
import  java.net. * ;

public   class  Client
{
 Socket socket;
 BufferedReader in;
 PrintWriter out;
 
public Client()
 
{
  
try
  
{
   System.out.println(
"Try to Connect to 127.0.0.1:10000");
   socket 
= new Socket("127.0.0.1",10000);
   System.out.println(
"The Server Connected!");
   System.out.println(
"Please enter some Character:"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值