Java抽象、接口 和final

抽象 一、抽象类:不知道是具体什么东西的类。 abstract class 类名

1.抽象类不能直接new出来。

2.抽象类可以没有抽象方法。

public abstract class USB { //抽象类 //两个抽象方法,抽象类中也可以不写抽象方法 public abstract void qidong(); public abstract void tingzhi();//抽象方法不用写{}

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

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

public abstract class Shubiao extends USB{ public void qidong(){ System.out.println("鼠标运行"); } //父类的tingzhi()的方法没重写 ,子类也要改成abstract抽象的。 }

二、抽象方法:不知道具体是干什么事情的方法。abstract 返回类型 函数名(形参);

1.抽象方法没有函数体。

2.有抽象方法的类必须是抽象类。

遇到抽象类,两种用法:

1.找找有没有它的派生类,用它的派生类。

2.自己写一个类,派生自这个抽象类。

package com.itnba.may.Demo1229; public abstract class USB { //抽象类 //两个抽象方法 public abstract void qidong(); public abstract void tingzhi(); }

接口

可以理解为一种特殊的抽象类。里面只有常量和抽象方法(不需要写abstract)。

接口可以多实现(继承),抽象类只能是单位继承。

定义:

interface 接口名 [extends 父接口列表]{
  final 类型 常量名=值;
  public void 方法名(形参);
}

public interface USB { //定义一个接口 public void qidong(); public void tingzhi(); }

接口的实现:

[abstract] class 类名 extends 父类 implements 接口名,接口名,....{

 

public class Shubiao implements USB{ @Override public void qidong(){ System.out.println("鼠标运行"); } @Override public void tingzhi() { System.out.println("鼠标拔出了"); } //如果有接口的方法没重写 ,类要改成abstract抽象的。 }

接口定义的时候:

1.接口尽量的小,功能太复杂的。——接口分离原则。

2.接口定义的时候,接口名子,尽量是形容词,或者是描述性质的词。

final 的几种修饰用法 final可以修饰成员变量,成员方法,类。

1.final修饰类:此类不能被继承。

2.final修饰成员变量:可以当常量来用。

3.final修饰方法:不能被子类的方法覆盖(重写),但可以被继承。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/cf5f55ec5350701b81eb3a5b4a23cb95.html