博客园 首页 私信博主 显示目录 隐藏目录 管理 动画 动画

抽象类和接口,封装、继承、多态

1、封装

1、体现

  将变量和方法放到一个类中,私有字段封装成共有属性

2、this

  发现成员变量的名称和方法参数的名称相同,如何区分?

  是否有this关键字做前缀区别,有this的是成员变量,没有this的是方法参数

3、封装价值

  可以保护私有字段,限制非法的访问。

2、继承

1、体现

  extends修饰

 2、继承关系,构造的执行顺序

1、首先由测试方法跳入子类方法名,不进入方法体

2、跳入父类的方法名,紧接着进入父类构造方法的方法体

3、父类构造方法体执行完毕时,说明父类对象已经构建完毕

4、控制权再次交到子类构造的构造体内执行

5、子类构造执行完毕,回到测试方法

6、测试方法该代码执行完毕

7、创建对象

3、多态

1、含义

  不同事物执行同一命令产生不同的结果

2、依据

  里氏替换

4、抽象类

1、抽象类的价值

  为了约束子类方法的格式,为了让子类可以灵活重写父类的方法

  抽象类方法只有方法名,没有方法体!

2、抽象类的写法

  abstract修饰类名

3、抽象类可以有什么  抽象类和抽象方法的注意事项

1、抽象类中可以有非抽象成员

2、抽象方法一定在抽象类中

3、抽象类和抽象方法用abstract修饰

4、抽象类不能实例化

5、抽象类不能是静态类

6、子类必须重写抽象父类的抽象方法,除非子类也是抽象类

7、抽象方法不能有方法体,连{}都不能有!

 5、接口interface

1、编程的进化史

  机器语言  汇编语言 可以直接操控机器  面向过程语言  面向对象语言 即面向接口编程

2、包含

  抽象方法和静态常量

3、接口与类  

  接口不能用于实例化对象

  接口没有构造方法

  接口中所有的方法必须是抽象方法

  除了 static 和 final 变量 接口不能包含成员变量  

4、抽象类与接口

  抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行

  抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的

  接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法

  .一个类只能继承一个抽象类,而一个类却可以实现多个接口

  接口不是被类继承了,而是要被类实现

 

 

 

 

 

posted @ 2017-10-17 17:18  这才是真的阿呆云飞  阅读(540)  评论(0编辑  收藏  举报