1.Java中的抽象,使用abstract关键字来定义一个类此类称为抽象类

 语法

pulic abstract class A {

  //抽象方法 

  修饰符 abstract 返回类型 方法名(参数1, 参数2);

}

  • 抽象类是不能实例化通过new关键字是不可以创建抽象类的对象
  • 抽象方法是没有方法体所谓的方法体就是没有左右大括号
  • 抽象类在使用过程中需要子类来继承它
  • 抽象类中的抽象方法一定会在子类中被重写(override
  • 抽象方法只能定义在抽象类中

 

2.抽象类为什么会在Java面向对象设计中提出这个语法

  好比慈禧太后(抽象类)垂帘听政的效果一样所以慈禧太后下面的大臣(子类)就是继承她的思想去实现

3.抽象类举例

 

 1 public abstract class 慈禧太后 {
 2     public abstract void 杀无赦(String name);
 3     public abstract void 签条约(String name);
 4 }
 5 
 6 package com.gxa.day9;
 7 
 8 public abstract class 李鸿章 extends 慈禧太后 {
 9 
10     @Override
11     public abstract void 杀无赦(String name);
12 
13     @Override
14     public void 签条约(String name) {
15         System.out.println("签条约 : " + name);
16     }
17 
18 }

 

1 public class 锦衣卫 extends 李鸿章 {
2 
3     @Override
4     public void 杀无赦(String name) {
5 
6     }
7 
8 }

4.接口

 语法:

修饰符 interface 接口名字 {

  修饰符 数据类型 变量名;

  修饰符 返回类型 方法名(参数..);

}

 特点

  • 接口中不能定义方法实现而抽象类是可以的
  • 接口相当于一种多继承的概念
  • 实现接口的关键字 implements
  • 接口不能通过new关键字来实例化(但是匿名内部类可以实例化接口)
  • 接口与接口之间是可以继承的

 接口到底有什么好处

  • 接口在软件设计中完善整个软件架构的规范(基础性的作用)
  • 开放过程中不会出现代码移植的难度,代码也可以统一的管理

 

posted on 2016-04-08 23:08  Oliver·Keene  阅读(551)  评论(0)    收藏  举报