Infinity Studio 开发组入组审核题

不考虑C++、C#等语言。


1. 指出Generics.java中的所有语法错误并依据功能、语法、经验、结合实际需求,并修改正确,其中static标识不准删去,无语法错误处不许修改,要求修改处尽可能少。

2. AreYouSure.java,如果程序错误请指出如此的原因以及JVM内部实现为何导致此原因;如果程序无错误,请指出控制台输出,并指出如此输出的原因

一下2题若有现成项目作品可不做。

3. 请简述transient和volatile关键字作用。System.gc()的作用。

4. 请实现程序:控制台输入N个数字,输出N个数字的排序结果,要求不准使用Arrays.sort。

AreYouSure.java

import java.util.ArrayList;
import java.util.List;

public class AreYouSure
{
    public static void func(List<String> list)
    {
        System.out.println("1");
    }
    public static void func(List<Integer> list)
    {
        System.out.println("2");
    }
    public static void main(String[] args)
    {
        func(new ArrayList<String>());
        func(new ArrayList<Integer>());
    }
}

Generics.java

class <T, S> Generics {
	private T obj1;
	private S obj2;
	public Generics(T obj1, S obj2) {
		obj1=obj1;
		obj2=obj2;
	}
	public void setObj1(T obj1) {
		this.obj1=obj1;
	}
	T getObj1() {
		return obj1;
	}
	public void setObj2(S obj2) {
		this.obj2=obj2;
	}
	protected S getObj2() {
		return obj2;
	}
	public void show() {
		System.out.println("Name"+obj1+", Age:"+obj2);
	}
	public static void fun(Generics<T, S> t) {
		System.out.println("fun():"+t);
	}
}
public class Test {
	public static void main (string args[]) {
		Generics<int, float> g = new Generics();
		g.setObj1(g.getObj1());
		g.obj2 = 1.5;
		g.fun(g);
		g.show();
	}
}


感谢雨轩的AreYouSure.java

你可能感兴趣的:(java)