我是靠谱客的博主 落寞冬瓜,最近开发中收集的这篇文章主要介绍小chen的java学习笔记--接口练习,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

/*
    需求说明:学生类,新闻类,商品类虽然是完全不同的类,但是都具有比较的能力,比如可以比较两个学生的大小,但需要指定比较的依据是学号、姓名还是成绩等。
实现思路及关键代码:
将比较的能力定义为接口,让学生、新闻、商品类都实现该接口。
1)定义接口Comparable,其中包含唯一的方法int compareTo(Object obj);返回值>0,表示大于,返回值=0,表示等于,返回值<0,表示小于。
2)定义学生类,包括学号、姓名、年龄和分数,实现Comparable接口,实现比较;
3)定义新闻类,包括编号(int类型)、标题、内容和点击数,实现Comparable接口,实现比较;
4)定义测试类,分别创建两个学生对象、新闻对象,进行比较并输出结果。
     */

1、分析题意,找到需要定义的内容和个数

根据题意,我们可以看出,需要定义一个接口(Comparable),三个类(Student、News、Goods),接口包括唯一的方法int compareTo(Object obj);通过方法判断返回值的类型,如果返回值>0,表示大于,返回值=0,表示等于,返回值<0,表示小于。

2、创建一个名为Comparable的接口,实现int compareTo(Object obj)的方法;

代码如下:

注意:Object 是 Java 类库中的一个特殊类,也是所有类的父类。 也就是说,Java 允许把任何类型的对象赋给 Object 类型的变量。 当一个类被定义后,如果没有指定继承的父类,那么默认父类就是 Object 类。

3、创建一个名为名为News的类使用Comparable的接口

 因为在int compareTo(Object obj);方法中,返回值是int类型,所以我们可以直接用两个新闻的点击数的差来判断,大于0时,返回大于,小于0时返回小于,等于0时返回等于。

return this.click-news.click;

注意:在 Java 中强制类型转换分为基本数据类型和引用数据类型两种,引用数据类型的强制类型转换。 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需要强制转换,因此我们需要使用强制转换将obj类型转换为我们需要的news类型。

4、接下来我们来编写测试类

新建两个对象news和news1,调用compareto的方法进行比较,通过方法的返回值来判断输出。

 5、最后编译运行

 其他两个类也是同样的过程,因此省略了。

6、总结

接口的特点:
用 interface 来定义。

接口中的所有成员变量都默认是由public static final修饰的。

接口中的所有方法都默认是由public abstract修饰的。

接口没有构造方法。构造方法用于创建对象

实现接口的类中必须提供接口中所有方法的具体实现内容。

多个无关的类可以实现同一个接口

一个类可以实现多个无关的接口

与继承关系类似,接口与实现类之间存在多态性

接口也可以继承另一个接口,使用extends关键字。

实现接口的类中必须提供接口中所有方法的具体实现内容。

多个无关的类可以实现同一个接口

一个类可以实现多个无关的接口

与继承关系类似,接口与实现类之间存在多态性
 

最后

以上就是落寞冬瓜为你收集整理的小chen的java学习笔记--接口练习的全部内容,希望文章能够帮你解决小chen的java学习笔记--接口练习所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部