java笔试题大集合及答案(306)代码与编程题

2020-02-20 20:59

代码与编程题

135、写一个Singleton出来

Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式:

第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton { private Singleton(){}

//在自己内部定义自己一个实例,是不是很奇怪? //注意这是private 只供内部调用

private static Singleton instance = new Singleton();

//这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() { return instance; } }

第二种形式: public class Singleton {

private static Singleton instance = null;

public static synchronized Singleton getInstance() {

//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 //使用时生成实例,提高了效率! if (instance==null)

instance=new Singleton(); return instance; } } 其他形式:

定义一个类,它的构造函数为private的,所有方法为static的。 一般认为第一种形式要更加安全些

136、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? 答:父类: package test;

public class FatherClass {

public FatherClass() {

System.out.println(\Create\ } } 子类:

package test;

import test.FatherClass;

public class ChildClass extends FatherClass {

public ChildClass() {

System.out.println(\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 137、内部类的实现方式? 答:示例代码如下: package test;

public class OuterClass {

private class InterClass {

public InterClass() {

System.out.println(\Create\ } }

public OuterClass() {

InterClass ic = new InterClass(); System.out.println(\Create\ }

public static void main(String[] args) {

OuterClass oc = new OuterClass(); } } 输出结果:

C:\\>java test/OuterClass InterClass Create OuterClass Create 再一个例题:

public class OuterClass {

private double d1 = 1.0; //insert code here }

You need to insert an inner class declaration at line 3. Which two inner class declarations are valid?(Choose two.) A. class InnerOne{

public static double methoda() {return d1;} }

B. public class InnerOne{

static double methoda() {return d1;} }

C. private class InnerOne{

double methoda() {return d1;} }

D. static class InnerOne{

protected double methoda() {return d1;} }

E. abstract class InnerOne{

public abstract double methoda(); } 说明如下:

一.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。 故 A、B 错

二.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;return d1 出错。 故 D 错

三.非静态内部类的非静态成员可以访问外部类的非静态变量。 故 C 正确 四.答案为C、E

138、Java 的通信编程,编程题(或问答),用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 = \

System.out.println(\client come in!IP:\ in = new BufferedReader(new

InputStreamReader(socket.getInputStream())); String line = in.readLine();

System.out.println(\send is :\+ line);

out = new PrintWriter(socket.getOutputStream(),true); out.println(\Message Received!\ out.close(); in.close(); socket.close(); }

}catch (IOException e) {

out.println(\ } }

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(\to Connect to 127.0.0.1:10000\ socket = new Socket(\ System.out.println(\Server Connected!\ System.out.println(\enter some Character:\ BufferedReader line = new BufferedReader(new InputStreamReader(System.in));

out = new PrintWriter(socket.getOutputStream(),true); out.println(line.readLine());

in = new BufferedReader(new InputStreamReader(socket.getInputStream())); System.out.println(in.readLine()); out.close(); in.close(); socket.close(); }catch(IOException e) {

out.println(\ } }

public static void main(String[] args) {

new Client(); } };

139、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口? 答:用插入法进行排序代码如下 package test; import java.util.*; class InsertSort {

ArrayList al;

public InsertSort(int num,int mod) {

al = new ArrayList(num); Random rand = new Random();

System.out.println(\ArrayList Sort Before:\ for (int i=0;i

al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1)); System.out.println(\ } }

public void SortIt()


java笔试题大集合及答案(306)代码与编程题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2018高考作文模拟金题精析(一)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: