静态代码块、类的继承和接口

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. 抽象方法没有方法体。抽象类是指有抽象方法的类。java教程里说的是抽象类有构造函数,可以被重载

    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)

      }

posted @ 2016-03-07 13:15  jinshiyill  阅读(1363)  评论(0编辑  收藏  举报