接口c++对接口和内部类只有简介的支持,但在java中有队这些类的直接支持
1 ,抽象类 : 如果一个类包含一个或多个抽象方法,该类必须限定为抽象类(否者编译器报错)
抽象方法 : 在方法中仅有声明而没有方法体
package com.wj.Interface; //类包含抽象方法,此类必须声明为抽象 public abstract class AbstractClass { public void play(String str) { System.out.println(str); } // 抽象方法,只有实体 没有实现 abstract void play(); } package com.wj.Interface; /** * */ public class AbstractDemo extends AbstractClass { // 抽象类不能直接new 对象 必须要有子类继承 在子类中实现抽象类中的抽象方法 @Override void play() { System.out.println("实现抽象类中的方法"); } public static void main(String[] args) { // 常见对象 AbstractDemo demo = new AbstractDemo(); // 调用抽象类中的方法 demo.play("java"); // 调用抽象方法的实现 demo.play(); } }
运行结果:
java
实现抽象类中的方法
2,接口 implement 接口的多重继承
定义两个接口;子接口继承这两个接口 , 类实现子接口
被继承的接口
/** * * @author Administrator *定义接口 抽象方法 */ public interface AbstrctIter1 { public void getAll(); public void getSize(); public void getName(); } 被继承的接口 package com.wj.Interface; /** * * @author Administrator *定义接口 */ public interface AbstrctIter2 { public void getAll2(); public void getSize2(); public void getName2(); } 子接口继承上面的接口 package com.wj.Interface; /** * * @author Administrator *接口 定义接口 不能使用class 必须使用interface *接口可以有多重继承 */ public interface AbstractInterface extends AbstrctIter1,AbstrctIter2{ //定义抽象方法,接口中不能有具体方法的实现 public void play(String str); public void play(String str,int age); } 定义类实现子接口 ,类会实现接口的所有方法 package com.wj.Interface; /* * 实现接口 实现接口的方法 */ public class AbstractImplement implements AbstractInterface{ @Override public void play(String str) { // TODO Auto-generated method stub } @Override public void play(String str, int age) { // TODO Auto-generated method stub } @Override public void getAll() { // TODO Auto-generated method stub } @Override public void getSize() { // TODO Auto-generated method stub } @Override public void getName() { // TODO Auto-generated method stub } @Override public void getAll2() { // TODO Auto-generated method stub } @Override public void getSize2() { // TODO Auto-generated method stub } @Override public void getName2() { // TODO Auto-generated method stub } }
3,完全解耦
只要有一个方法操作的一个类而非一个接口,那么我们就只能使用这个类及其子类
4,接口与工厂
接口可实现多重继承,类不可以是多重继承