IT十八掌作业_java基础第五天_静态代码块、类的继承和接口

1.文字阐述静态代码块的作用。

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

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

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

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

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

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

8.定义接口

1.IWhite

2.IRich

3.IBeanti

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

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


----------------------------------------------------------------------------------------------------

  1. 代码块是类的组成成分之一,和成员变量,成员函数,内部类,并列共同组成类。静态代码块只在类加载的时候执行一次。

  2. 构造代码块会先于构造函数之前调用,相对于构造函数来说与声明的位置无关。构造代码块的作用:1,提升代码的重用性,可以讲每一个构造函数的相同代码提取出来。2 初始化对象

  3. 类加载时不一定会执行静态代码块。默认的方式是执行。如果是以Java反射机制调用class对象,则可以手动选择加载或不加载。class.forName("类名",boolean 是否加载);

  4. class person
            {
            }
            class man extends person
            {
            }


            class woman extends person
            {
            }

  5. 抽象方法没有方法体。抽象类是指有抽象方法的类。抽象类有构造函数,可以被重载

  6. private abstract是非法的,如果不能被继承则没有办法被重写

    abstract final是非法的,final不可以被修改,不能被修改则不能被继承者重写

    abstract static是非法的,static是静态的在类加载的时候就已经存在方便直接用类访问,abstract没有意义,访问无效

  7. super是指向超类对象的指针,this是指向本对象的指针。super()默认出现在一切对象构造函数的第一行表示创建超类对象。super(..)和this(..)都只能用在构造函数的第一行,且只能二选一。


  8.         interface IWhite
            {
            }
            interface IRich
            {
            }
            interface IBueaty
            {
            }

    interface IAll extends IWhite,IRich,IBueaty
            {
            }

  9. public class womanStar implements IAll{

    }

  10. class EarnRicher{

    public void marry(IAll woman){

    }

    }

    public static void main(String[] args){

    womanStar star=new womanStar()

    new EarnRicher().marry(star)

    }


你可能感兴趣的:(java基础)