大数据Java基础第五天作业

第一题:
    加载类的时候执行静态代码块,静态代码块的作用为了初始化值。
第二题:
    构造代码块先于构造函数的调用,和方法声明的位置无关。顺序是:加载类 => 执行静态代码块 
    => 实例化类 => 执行构造代码块 => 执行构造函数。
    构造代码块的作用也是为了初始化对象属性成员的值。
第三题:
    会执行静态代码块,Class.forName("Benz",flase,BenzDemo.class.getClassLoader());
第四题:
class Person{
    .....   
}
class Man extends Person{
    .....
}
class Woman extends Person{
    .....
}
第五题:
    抽象方法必须在抽象类中,继承抽象类的子类必须有成员属性去覆盖(重写)该抽象类的成员属性。
    使用abstract关键字修饰,不能被实例化。
     抽象类有构造函数,可以被重载、重写(覆盖)。
第六题:
        abstract  +  static    非法修饰的组合,抽象类中的抽象方法不能使用static关键字修饰。
    abstract + final   abstract public final String name = "dog";错误组合
    abstract + private   非法修饰的组合,抽象类中的抽象方法要被继承和重写,因此不能使用private类。
第七题:
    super();访问父类的构造函数。
    this();访问当前类的构造函数。
第八题:
interface IWhite{
    public String white();
}
interface IRich{
    public int rich();
}
interface IBeauti{
    public String beauti();
}
第九题:
class WomenStar implements IWhite,IRich,IBeauti{
    public String white(){
        return "white";
    }
    public int rich(){
        return 100000000;
    }
    public String beauti(){
        return "beautiful";
    }
    public Boolean toMarring(String white,int rich,String beauti){
        if(white == this.white() && rich >= this.rich() && beauti == this.beauti()){
            return true;
        }
        return false;
    }
}

第十题:
class EarchRicher{
    public static Boolean toMarry(WomenStar w){
        return w.toMarring("white",100000000,"beautiful");
    }
}
class Marry{
    public static void main(String[] args){
        EarchRicher er = new EarchRicher();
        WomenStar w = new WomenStar();
        Boolean result = er.toMarry(w);
        String str = result ? "成功!" : "失败!";
        System.out.println(str);
    }
}


你可能感兴趣的:(java,interface,类继承,bastract)