Java面试小知识(3)

2019-04-16 17:44

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

4、内部类的实现方式? 答:示例代码如下: 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 再一个例题:

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

5、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 = “:”+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:”); 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(“Wrong”); } }

public static void main(String[] args) {

new Client(); } };

6、用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(\ for (int i=0;i

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

public void SortIt() {

Integer tempInt; int MaxSize=1;

for(int i=1;i

{

tempInt = (Integer)al.remove(i);

if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) {

al.add(MaxSize,tempInt); MaxSize++;

System.out.println(al.toString()); } else {

for (int j=0;j

(((Integer)al.get(j)).intValue()>=tempInt.intValue()) {

al.add(j,tempInt); MaxSize++;

System.out.println(al.toString()); break; } } } }

System.out.println(\ for(int i=0;i

System.out.println(\ } }

public static void main(String[] args) {

InsertSort is = new InsertSort(10,100); is.SortIt(); } }

JAVA类实现序例化的方法是实现java.io.Serializable接口

Collection框架中实现比较要实现Comparable 接口和 Comparator 接口

7、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。 答:代码如下: package test; class SplitString {

String SplitStr; int SplitByte;

public SplitString(String str,int bytes) {

SplitStr=str;


Java面试小知识(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:楠博苑5期C标段安居工程土石方开挖方案

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

马上注册会员

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