HTML5技术

【java】聊聊java里的接口 - 外婆的彭湖湾(2)

字号+ 作者:H5之家 来源:H5之家 2017-09-19 15:00 我要评论( )

我们假设有这么一个年轻人(子类),如果他有一个有钱的老爸(超类),那么因为他可以直接从父亲(超类)获得这一部分财产:房子,车和钱(继承的方法),甚至于他可以不用工作,游手好闲(可以拥有超类提供的方法

我们假设有这么一个年轻人(子类),如果他有一个有钱的老爸(超类),那么因为他可以直接从父亲(超类)获得这一部分财产:房子,车和钱(继承的方法),甚至于他可以不用工作,游手好闲(可以“拥有”超类提供的方法)。当然了,如果他还算是个有上进心的年轻人的话, 他也可以在已有基础上,自己打拼挣一些钱(属于子类自身的方法,或者覆盖超类原有的方法)

 

 

 

接口实现

 

但如果这个年轻人(类)生于一个相对普通的家庭,而且还有一个望子成龙的母亲(接口)的话,那么在他妈的严格要求下,他就必须靠自己的努力工作,去取得房子,车和钱(实现接口中约定的方法),并且他妈可能会要求他: 达不到目标就不要回来了! (如果没有实现接口约定的全部方法会报错)

 

 

 

代码如下:

 

超类继承

 

SuperClass.java:

public class SuperClass {     public String  getMoney () {// 获取金钱     ;      }     public String getHouse () {  // 获取房子     ;     }     public String getCar () {   // 获取车子     ;     } }

 

Myclass.java:

public class Myclass extends SuperClass{ public String getAll () { + getCar() +   + getHouse(); } main(String args []) { Myclass me = new Myclass(); System.out.println(me.getAll()); } }

 

运行结果:

Money   car   house

 

 

接口实现:

 

myInterface.java:

public interface myInterface {     public String  getMoney ();     public String getHouse ();     public String getCar (); }

 

Myclass.java:

public class Myclass implements myInterface{ public String  getMoney () {     ;     }   public String getHouse () {      ;   }   public String getCar () {     ;   }    public String getAll () { + getCar() +   + getHouse(); } main(String args []) { Myclass me = new Myclass(); System.out.println(me.getAll()); } }

 

 

运行结果:

Money   car   house

 

 

接口和抽象类的差异

 

接口和抽象类在使用形式上非常相似

 

展示一下抽象类的使用

 

AbstractClass.java:

abstract class AbstractClass {    function (); }

 

MyClass.java:

public class MyClass extends AbstractClass { public int function() { return 0; } }

 【吐槽】我去!这看起来不和接口一模一样吗?!

接口和抽象类的共同点

1.都是java中抽象的一种方式

2.都不能实例化

3.都要求类(或子类)

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 【java】关于java类和对象,你想知道的在这里! - 外婆的彭湖湾

    【java】关于java类和对象,你想知道的在这里! - 外婆的彭湖湾

    2017-09-17 14:05

  • 【Java IO流】字节流和字符流详解 - 云开的立夏

    【Java IO流】字节流和字符流详解 - 云开的立夏

    2017-09-15 15:06

  • this的用法 – JavaScript深入浅出(二) - OkayChen

    this的用法 – JavaScript深入浅出(二) - OkayChen

    2017-09-15 12:00

  • JavaScript: 使用 atan2 来绘制 箭头 和 曲线 - 救火队长

    JavaScript: 使用 atan2 来绘制 箭头 和 曲线 - 救火队长

    2017-09-14 08:04

网友点评
)