版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创!

恰饭广告

接口:接口是抽象方法的集合。接口通常以interface来声明。

接口注意事项:

1、严格来说,接口是用来实现(implements),而不是继承(extends)。

2、接口对象不能直接使用关键字new进行实例化,可以利用子类对象的向上转型进行实例化。

3、接口必须要有子类,子类可以实现(implements)多个接口,而且一个接口也能继承另一个接口。

4、接口的成员只能是常量,不能是变量。如String name;(变量)。String name=bing;(常量)。

5、接口的成员和方法一般都是对外开放的(public) ,【private 、protected 、abstract】不能去修饰接口的常量。【protected、private、static、final】不能去修饰接口的方法。

6、定义接口方法和常量的时候就算没有写上public,那么最终的访问权限也是public,而不是default。

7、为了节省打字时间,接口的方法默认都是public abstract修饰。

接口的示例代码:

public interface OneInterface {  //接口1

public static final String oneName = "小明";//全局常量

public abstract void msgOne();//公共抽象方法,无return

}

interface TwoInterface{  //接口2

public static final String twoName = "小红";//全局常量

public abstract String msgTwo();//公共抽象方法,有return

}

要去实现接口的子类:

public class Test implements OneInterface,TwoInterface{ //多接口实现

@Override

public void msgOne() { //子类去实现接口1的方法

System.out.println(oneName);

}

@Override

public String msgTwo() { //子类去实现接口2的方法

System.out.println(twoName);

return twoName;

}

public static void main(String[] args){

Test t=new Test(); //子类实例对象

t.msgOne(); //对象调用方法

t.msgTwo();

}

}

接口的作用:(不是三言两语就能说清楚的)

1、解决了java的单一继承(extends)。

抽象类:abstract修饰的类。

抽象类注意事项:

1、abstract 可以修饰类或方法,但不可以修饰成员和构造方法。

2、抽象类对象不能通过new关键字实例化。

3、抽象方法不在声明它的类中实现,但必须在某个子类中重写。

4、abstract 关键字不能应用于 static、private 、 final 修饰的方法,因为这些方法不能被重写。

5、抽象类不一定要有抽象方法,但有抽象方法的类必定是抽象类。

抽象类代码例子:

public abstract class Abstract {

String oneName="小明";

String twoName="小红";

public abstract void msgOne(); //抽象类自己的不能实现的方法

public abstract String msgTwo();

static void test(){  //抽象类自己的可以实现的方法

System.out.println("小明\n小红");

}

public static void main(String[] args){

test();  //抽象类不能创建对象,所以用static修饰方法,方便调用

}

}

继承抽象类的子类:

public class Test extends Abstract{  //继承抽象类

@Override

public void msgOne() {  //重写了抽象类的方法

System.out.println(oneName);

}

@Override

public String msgTwo() {  //重写了抽象类的方法

System.out.println(twoName);

return twoName;

}

public static void main(String[] args){

Test t=new Test();  //子类实例对象

t.msgOne(); //对象调用方法

t.msgTwo();

}

}

运行结果:(相同)

小明

小红

接口与抽象类的区别:

1、接口多实现,抽象单继承。

2、抽象类中有自己可以实现的方法体,但接口不行。

3、抽象类可以有静态代码块和静态方法,但接口不行。

4、图:

最后:仔细认真理解!

让我恰个饭吧.ヘ( ̄ω ̄ヘ)

支付宝 ——————- 微信

恰饭广告

java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌相关推荐

  1. java中获取绝对值的方法_Java完美判断绝对值的两种方法 | 彬菌

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 if-else语句判断: import java.util.Scanner; public class Absol ...

  2. java接口方法实现_Java接口的简单定义与实现方法示例

    本文实例讲述了Java接口的简单定义与实现方法.分享给大家供大家参考,具体如下: 1.接口是Java中最终要的概念,接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成. 2.接口的 ...

  3. java接口的继承_Java 接口多继承

    按照理解,一般都是说Java 类是单继承,但可以实现多个接口.但是可以通过接口来实现类的多继承.(如何通过接口来实现多继承???) 那么就一直以为Java里面是单继承,今天看FutureTask源码的 ...

  4. java抽象类接口举例代码_Java接口和抽象类实例分析

    本文实例讲述了Java的接口和抽象类.分享给大家供大家参考.具体分析如下: 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相 ...

  5. java接口编程题_Java接口练习题

    1.说出下面程序的执行结果: interface InterfaceA { String S = "good "; void f(); } abstract class Class ...

  6. java接口的关键字_Java 接口 interface关键字

    1.概念:一种特殊的类,有全局常量和公共方法组成 定义接口用interface关键字 2.语法: //中括号"[ ]"的含义:你可继承父接口,也可不继承,是可选的 [修饰符] (a ...

  7. java中implements是什么意思_Java中implements和extends的区别

    看到java中很多类有使用implements和extends,那么这两种用法有哪些区别呢,今天我们来分析一下. 简单说:1.extends是继承父类,只要那个类不是声明为final或者那个类定义为a ...

  8. 用java比较abc大小的程序_Java中 abc + '/'和abc + /的区别

    好吧,写这篇博客又是因为一个有趣的帖子.原问题是"String str = "abc" + '/';和"abc" + "/";的区 ...

  9. java私有属性和私有方法_Java接口–历年来Java 9之旅–默认方法和私有方法

    java私有属性和私有方法 介绍 Java接口已经比Java版本进行了更多的演变,而Java 8和Java 9则有所发展.在本文中,我们将介绍接口在Java 8之前的样子以及如何在Java 8和Jav ...

最新文章

  1. [mmu/cache]-cache的一些基本概念介绍
  2. 净核心vs节点js您应该选择什么
  3. Embree:照片级光线追踪内核
  4. Django中的 返回json对象的方式
  5. 关于一些信息学数论问题例题的讨论
  6. 【C++】判断指定元素是否在vector中的若干种方法小结
  7. NYOJ 300 amp;amp; hdu 2276 Kiki amp; Little Kiki 2 (矩阵高速功率)
  8. PHP问题Parse error: syntax error, unexpected end of file in
  9. 基于ZYNQ7000的交叉编译工具链Qt+OpenCV+ffmpeg等库支持总结【依赖库源码包】
  10. linux scp 安装包,linux安装scp命令
  11. 可以将pdf转换成jpg图片格式的方法
  12. 186.MultiAutoCompleteTextView
  13. 也谈谈印度人的职场话题
  14. tushare获取沪深300指数历史_tushare正确爬取 指数数据
  15. wdcp虚拟主机管理系统注入漏洞
  16. Laravel下用户权限系统 的解决方案Zizaco/Entrust
  17. c语言 的表示方法,c语言运算符号的表示方法
  18. python 矩阵转置
  19. 按照lfw pairs.txt的格式生成自己的pairs.txt
  20. linux 共享文件夹 安装,linux – Vagrant并在共享文件夹中安装包

热门文章

  1. html标签slot,HTML slot 标签
  2. mysql bin日志备份_mysql之binlog日志备份还原
  3. qt修改程序图标名称_解决Qt应用程序添加icon图标,修改窗口图标以及添加系统托盘问题...
  4. 116. Leetcode 1143. 最长公共子序列 (动态规划-子序列问题)
  5. 开启大数据时代谷歌三篇论文-Mapreduce
  6. 实战项目一:爬取西刺代理(获取代理IP)
  7. Anaconda 查找安装的环境,以及移除旧环境命令
  8. Python编程基础:第三十三节 文件复制Copy a File
  9. 从0开始构建你的api网关--Spring Cloud Gateway网关实战及原理解析
  10. 微服务实践分享(9)文档中心