抽象类
抽象类是对我们现实事物的一种抽象概念,抽象类中有的只是抽象的方法,所谓抽象方法就是只有方法名,没有方法的具体实现方式。 抽象类一定是用来继承的,继承抽象类的类需要实现抽象类中的每一个方法。
public abstract class A{ public void showName(); }
public class B extends A{ //重写showName方法 public void showName(String name) { System.out.println("我的名字是: " + name); } }
接口
接口是用来建立类与类之间的协议,是一种规定,接口提供的只是相关方法名等规范,并没有具体方法的实现。其它类需要遵循这个协议的类需要实现接口中定义的所有方法,使用implements来实现一个接口规范。 example: public interface inface{ public void methodA(); public void methodB(); }
实现接口inface
`public class A implements inface{ public void methodA(){ System.out.println("methodA"); }
public void methodB(){
System.out.println("methodB");
}
}`
抽象类与接口的区别
1.继承抽象类的类只能继承一个类,一个类可以实现多个接口 2.抽象类中的方法可以有具体实现,接口中的方法不允许有具体的实现 3.抽象层次不同:抽象类是对类进行抽象,接口是对行为进行抽象 4.设计层次不同: 在设计上,抽象类是自下而上设计出来的,有了子类才能向上到父类的设计 接口是对相关方法的抽象,就飞这个动作来说,可能飞机会飞,鸟也会飞,所以接口中只定义了飞这个方法并没有要求实现的类是哪一类型。