疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java基础抽象类、接口


 

   

  为什么要用抽象类:

  子类万一没有重写正确,也没有提示。

  假设父类的代码如下

  复制代码

  public class USB {

  public void QiDong(){

  }

  public void TingZhi(){

  }

  }

  复制代码

  子类中的代码如下:对父类中的方法的重写

  复制代码

  public class UPan extends USB {

  public void Qidong(){            //这里的Qidong 并不是对父类函数的重写

  System.out.println("u盘启动了");

  }

  public void TingZhi(){

  System.out.println("u盘停止运行了");

  }

  }

  复制代码

  这样的代码,在Eclipse中是不会报错的;

  抽象类:不知道是具体什么东西的类。

  写法:abstract class 类名

  public abstract class USB {

  }

  抽象方法:不知道是具体是做什么的方法;

  写法:abstract 返回类型 函数名(形参); 抽象方法不需要写函数体

  派生类中,可以不实现某些抽象方法,但派生类必须要声明为抽象类。

  抽象类中,可以有抽象方法,也可以有非抽象方法。抽象类中还可以有成员变量。

  复制代码

  public abstract class USB {

  public String JiaGe;

  public abstract void QiDong();

  public abstract void TingZhi();

  }

  复制代码

  接口:

  接口的作用:主要是起一个约束的作用 可以理解成为构架一个大框 代码格式只能按照规定的格式写

  定义: 文件—新建—接口 // 接口名首字母加一个大写的I

  接口定义时,接口名字尽量是形容词,或者描述性的词

  接口的内容尽量的少,方便灵活使用 —接口分离原则

  interface 接口名 extends 父接口列表{

  final 类型 常量名=值; //规定了需要按照什么格式去写,如果和这个格式不统一,就会报错

  public void 方法名(形参);

  }

  接口的实现:

  abstract class 类名 extends 父类 implements 接口列表{

  }

  前面说道接口的作用就是约束,那么具体来看一下是怎么约束的

  创建一个接口 新建—接口 在接口中录入以下代码

  public interface IJiSuan {

  public int a=0;

  public void Suan(int a, int b);

  }

  然后我们新建一个类 新建-类 添加接口,点击确定,就会自动生成以下代码;

  复制代码

  public abstract class YunSuan implements IJiSuan {

  @Override

  public void Suan(int a, int b) {

  // TODO 自动生成的方法存根

  }

  }

  复制代码

  假设我们将方法名改成 suan 系统就会自动报错

  final 可以修饰成员变量(常量)、成员方法(不允许重写)、类(不允许被继承)