1. 在main(String[] args)方法内是否可以调用一个非静态方法?
答案:不能
2. 同一个文件里是否可以有两个public类?
答案:不能
3. 方法名是否可以与构造器的名字相同?答案:可以。
public class Test
{
public Test(String iceboy)
{
System.out.println(iceboy);
}
public void Test(String iceboy)
{
System.out.println(iceboy);
}
public static void main(String[] args)
{
Test a = new Test("abc");//输出“abc”
a.Test("iceboy");//输出“iceboy”
}
}
4. 初始化了一个没有run()方法的线程类,是否会出错?
答案:不会。
第一种方法:直接继承Thread类。
public class Test
{
public static void main(String[] args)
{
ThreadClass t = new ThreadClass();
t.start();
System.out.println("end");//输出“end”
}
}
class ThreadClass extends Thread //Thread类已经实现了空的run()方法。
{
}
第二种方法:实现Runnable接口
public class Test
{
public static void main(String[] args)
{
ThreadClass t = new ThreadClass();
Thread thread = new Thread(t);
thread.start();
System.out.println("end");
}
}
class ThreadClass implements Runnable
{
public void run() //必须有此方法否则编译报错。它是Runnable接口中的抽象方法。
{
System.out.println("Threads");
}
}
4. 局部内部类是否可以访问非final变量?
答案:不能访问局部的,可以访问成员变量(全局的)。
class Out
{
private String name = "out.name";
void print()
{
final String work = "out.local.work";//若不是final的则不能被Animal 使用.
int age=10;
class Animal
//定义一个局部内部类.只能在print()方法中使用.
//局部类中不能使用外部的非final的局部变量.全局的可以.
{
public void eat()
{
System.out.println(work);//ok
//age=20;error not final
System.out.println(name);//ok.
}
}
Animal local = new Animal();
local.eat();
}
}
5. 选择语句case中,允许使用的值有哪些?答案:int,short,char,byte(都在int范围之内,且是整数)