1.文字阐述静态代码块的作用。答:类加载的时候仅执行一次。


2.构造代码块与构造函数的调用顺序如何?和方法的声明位置是否有关?为什么?构造代码块的作用是什么?

答:先代码块后函数,和方法声明位置无关,可以一次性构造多个方法,同时成员变量的初始化


3.类加载时,是否一定会执行静态代码块?如何手动控制类加载?

答:默认执行,getClassLoader

4.定义类Person,Man,Woman形成继承关系。

答:

class Persion {
}
class Man extends Persion {
}
class Woman extends Persion {
}

5.什么是抽象方法?什么是抽象类?抽象类是否有构造函数,是否可以重载?

答:没有方法体的方法是抽象方法。含有抽象方法的类就是抽象类,抽象类有构造函数,可以被重写

6.抽象修饰符有哪些非法组合?并给出合理的解释?

答:abstract+final,abstract+static,abstract+private

7.super和this作用以及用法以及注意事项?

答:super如果不写,默认是super,调用父类的方法,this,调用自身

8.定义接口

1.IWhite

2.IRich

3.IBeanti

interface IWhite{}
interface IRich{}
interface IBeanti{}

4.定义类,实现以上三个接口.(WomenStar)

5.定义土豪类(EarchRicher.marring(...))

interface IWhite
{
public void White();
}
interface IRich
{
public void Rich();
}
interface IBeauti
{
public void Beauti();
}
interface RWB extends IWhite,IRich,IBeauti
{
}
class RichMan
{
public void marry(RWB woman)
{
System.out.println("marry RWB");
}
}
class RichManDemo
{
public static void main(String[] args){
RWB womanstar=new RWB(){
public void White(){};
public void Rich(){};
public void Beauti(){};
};
RichMan man=new RichMan();
man.marry(womanstar);
}
}