A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今日整理:
1.什么是多态?多态的好处和坏处分别是什么?
  多态:一个对象在不同情况下具有多种状态
  多态的好处:简化代码,提供代码的扩展性
  多态的坏处:不能调用子类对象特有的方法,不能解析子类的行为
2.多态的转型指的是什么?
  多态转型分为:
  1、向上转型:子类对象赋值给父类对象(多态默认的)
     比如:Animal an = new Cat();
  2、向下转型:将多态的对象通过强转,转成子类对象
     比如:Animal an = new Cat(); Cat cat = (Cat)an;
     解决开发中:多态的缺点即不能访问子类特有的属性和行为
3.什么是抽象类?它的特点是什么?
  在继承中,子类需要重写父类的方法,父类中的方法不用给出方法体,让子类自己实现方法体,那么将这个父类定义为抽象类,没有方法体的方法定义为抽象方法
  特点:
     1:用abstract修饰类名
     2:抽象类不一定要有抽象方法
     3:有抽象方法的类,一定是抽象类
     4:抽象类可以定义普通方法
     5:抽象类里面定义成员变量
     6:抽象类里面定义构造方法
     7:抽象类必须都有一个子类
  抽象方法必须为public或protected修饰,缺省情况下为public;
  抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理;
  抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;
  子类(如果不是抽象类)则必须覆写抽象类中的全部抽象方法。
4.抽象类中的成员(属性,方法)有什么特点?
  抽象类中的属性和行为可以为普通属性和行为,也可以被abstract修饰的抽象方法
5.接口是什么?它有什么特点?
  接口:一种行为规范,类名被interface修饰,调用需要用到implement,默认用public abstract修饰的无方法体的方法
  特点:
    接口中的变量会被隐式地指定为public static final变量,并且只能是public static final变量,用private修饰会报编译错误,而方法会被隐式地指定为public abstract方法且只能是public abstract方法,用其他关键字,比如private、protected、static、 final等修饰会报编译错误,并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法。
6.接口中的成员(属性,方法)有什么特点?
  接口中的成员常量默认被public static final修饰,在书写常量时可写可不写
  接口中的抽象方法名称默认被public abstract修饰,在书写方法时可写可不写
7.抽象类和接口有什么区别?类和接口有什么关系?
  抽象类和接口的区别:
  语法层面上的区别
    1、一个类只能继承一个抽象类,而一个类却可以实现多个接口;
    2、抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
    3、接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
    4、抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
    5、抽象类的抽象方法可以是public,protected,default类型,而接口的方法只能是public。
  设计层面上的区别
    1、抽象类是对一种事物的抽象,即对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。
继承是一个 "是不是"的关系,而 接口 实现则是 "有没有"的关系。
    2、设计层面不同,抽象类作为很多子类的父类,它是一种模板式设计。而接口是一种行为规范,它是一种辐射式设计。
  
  类和接口的关系:
  普通类或抽象类可以调用接口,将接口中的方法在本类中实现,抽象类和接口都不能被创建对象来使用
8.总结今天自己认为重要的点.
  -继承与多态的区分和联系
  -多态的转型
  -抽象类的使用
  -抽象类的使用限制
  -抽象类的应用——模版设计模式
  -接口和抽象类的区别和联系
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马