1、接口是公开的,里面不能有私有的方法或变量,是用于让别人使用的,而抽象类是可以有私有方法或私有变量的
2、实现接口的一定要实现接口里定义的所有方法,而实现抽象类可以有选择地重写方法,抽象类中的抽象方法必须要在子类中实现,一般的应用里,最顶级的是接口,然后是抽象类实现接口,最后才到具体类实现。 3、接口可以实现多重继承,而一个类只能继承一个超类,但可以通过继承多个接口实现多重继承,接口还有标识(里面没有任何方法,如Remote接口)和数据共享(里面的变量全是常量)的作用。
一个抽象类
public abstract class Corp { protected abstract void produce(){}; protected abstract void shell(); protected void makeMoney(){ this.produce(); this.shell(); System.out.println("kkkkkkkkkkkkkkk"); } }
子类:
public class ShiChang extends Corp { @Override protected void produce() { System.out.println("iiiiiiiiiiiiproduce"); } @Override protected void shell() { System.out.println("iiiiiiiiiiiishell"); } public void makeMoneyllllllll(){ super.makeMoney(); System.out.println("oooooooooooooooooo"); } }
接口:
public interface ILeaf { //获得信息 public String getInfo(); }
实现类:
public class Leaf implements ILeaf { private String name = ""; private String position = ""; private int salary=0; //通过构造函数传递信息 public Leaf(String name,String position,int salary){ this.name = name; this.position = position; this.salary = salary; } public String getInfo() { String info = ""; info = "名称:" + this.name; info = info + "\t职位:"+ this.position; info = info + "\t薪水:"+this.salary; return info; } }
使用方法:
ILeaf a = new Leaf("a","开发人员",2000);
再看一个例子:
public class WangPo implements KindWomen { private KindWomen kindWomen; public WangPo(){ //默认的话,是潘金莲的代理 this.kindWomen = new PanJinLian(); } //她可以是KindWomen的任何一个女人的代理,只要你是这一类型 public WangPo(KindWomen kindWomen){ this.kindWomen = kindWomen; } public void happyWithMan() { this.kindWomen.happyWithMan(); //自己老了,干不了,可以让年轻的代替 } public void makeEyesWithMan() { this.kindWomen.makeEyesWithMan(); //王婆这么大年龄了,谁看她抛媚眼?! } }
相关推荐
抽象类和接口的区别 在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持...
本项目主要包括项目开发环境搭建、不同功能的类的设计、抽象类的设计、接口的设计、及其继承抽象类重写和接口实现类等具体功能的实现。 ●工程项目搭建与游戏初始化功能实现(2学时) ; ●动物城成员列表与动物信息...
抽象类和接口实验报告
Java中的类、抽象类和接口的区别和联系
此书对于你学习Java抽象类和接口有非常大的帮助
抽象类和接口 区别分析抽象类和接口 区别分析
在Java中,可以通过两种形式来体现OOP(Object Oriented Programming,OOP,面向对象程序设计)的抽象:接口和抽象类。 这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换...
简单介绍了抽象类和接口
在Java语言中,abstract class和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,...
c# 中抽象类和接口的学习
Java源代码:抽象类和接口 Java源代码:抽象类和接口
C#中抽象类和接口的区别.txt
Java实验7抽象类和接口.pdf
学习java的抽象类和接口,入门抽象类和接口必须学会这些内容
抽象类的基本概念 抽象类是Java中一种特殊的类,它不能被实例化,只能被继承。...抽象类和接口都是用于定义通用属性和方法的,但抽象类可以有构造方法,接口不能有。抽象类只能单继承,接口可以实现多继承。
Java抽象类和接口和继承之间关系 Java抽象类和接口和继承之间关系
面向对象和抽象类和接口的理解 面向对象和抽象类和接口的理解 面向对象和抽象类和接口的理解