首页 > 编程语言 >Java接口

Java接口

时间:2023-03-05 09:22:19浏览次数:37  
标签:Java 子类 接口 new 父类 方法 public

接口定义:抽象描述现实世界中不同事物的共同行为特征--公共的抽象方法

接口不是类,接口是一种全新的概念,因此接口和类的区别是什么呢?

回答: 接口只有行为没有属性,但是接口也有多态属性,因此从继承的角度来看接口也是类,子不过这种类是针对行为的,及不同种类数据但是有同一种行为就可以归纳到同一个接口

接口内部:仅可以定义公共的静态方法和全局常量(public static finaly),但是全局常量对于接口的定义没有意义

接口里面的方法全部都是公共抽象方法 --接口定义可以忽略public,abstract 关键字 编译器导致,不能使用private 等修饰词

接口里面的属性必须是全局常量 public static final 修饰

接口调用,具体类可以实现接口,具体关键字为implements(实现),具体类实现接口后可以通过本类或者接口类型接收数据 -- 接口不是类为什么可以接收数据呢?

接口不是类,因此不可以new对象,接口是方法的抽象,因此接口用来被子类实现,new类 可以在内存空间中记录变量属性和类方法,但是new接口因为接口内部都是空,所以不可以new接口

子类继承多个父类,这样会让相同的方法名称方法体冲突,但是子类继承多个类和接口具有相同的方法名,因为继承接口必须要重写方法,所以不冲突,所以最根本原因在于父类 相同的多个方法不需要重新定义,但是接口需要重新定义猜的

接口因为内部都是抽象方法(没有方法体),因此可以帮助java间接实现多继承,直接多继承是因为继承多个类中可能方法之间有冲突,而抽象方法无所谓,所以可以用接口实现。

具体的子类必须实现接口定义的所有方法

为什么子类实现接口的方法,需要用public 关键字,用private关键字不行么?

多态:父类的变量在数据本质上还是子类,改变仅是数据的使用方法,

因此可以在父类的变量造型其他父类

object obj = new animal();

interface_a a1 = (interface_a )obj ;

多接口调用语法:

public class classname [extends superclass] [implements interface name1,name2,name3,... ]

继承的子类方法再本类中重写是不能使用static关键字

标签:Java,子类,接口,new,父类,方法,public
From: https://www.cnblogs.com/wade3/p/17068099.html

相关文章

  • Java Object类
    Object类含义:Object是所有类的根,及其他的父类或者间接父类都是Object优点:Object的创建是为统一管理所有类缺点:Object类当成参数的类型灵活度太高,相当于没有控制参数的......
  • Java实战(第二版)读后总结与感想
    1. 基本信息Java实战(第二版)ModernJavainAction,2ndEdition[英]拉乌尔–加布里埃尔·乌尔玛(Raoul-GabrielUrma),[意]马里奥·富斯科(MarioFusco),[英]艾伦·米克......
  • java基础语法-包机制
    包机制定义包(为了更好的组织类,java提供了包机制,用于区别类名的命名空间。)包语法的语法格式packagepkg1[.pkg2[.pkg3···]];一半利用公司域名倒置作为包名......
  • JavaScript判断变量类型的四种方法
    typeof(根据二进制判断):常用于判断基础数据类型,对于引用数据类型除了function返回‘function’,其余都返回‘object’(typeofnull===object)instanceof:主要用于区分引......
  • Java学习笔记(四)java数组
    学习笔记4Java数组一、什么是数组数组是相同类型数据的有序集合数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成其中,每一个数据称作一个数组元素,每......
  • Java基础——接口和抽象类异同及其特点
     抽象类链接:https://www.runoob.com/java/java-abstraction.html接口链接:https://www.runoob.com/java/java-interfaces.html......
  • Java_内部类
    Java内部类成员内部类内部类在外部使用时,无法直接实例化,需要借由外部类信息才能完成实例化内部类的访问修饰符,可以任意,但是访问权限会收影响。内部类可以直接访问......
  • Attempt to invoke virtual method ‘java.lang.String android.os.Bundle.getString(
    报错日志java.lang.NullPointerException:Attempttoinvokevirtualmethod'java.lang.Stringandroid.os.Bundle.getString(java.lang.String)'onanullobjectref......
  • 6.JavaScript异常处理的方式,统一的异常处理方案
    一般来说有两种处理方式①抛出异常functionopenFile(fileName){if(!exists(fileName)){thrownewError('找不到文件'+fileName)}//...}②捕......
  • java代码审计-命令执行
    0x01前言在Java中可用于执行系统命令常见的方式有两种,API为:java.lang.Runtime、java.lang.ProcessBuilder0x02java.lang.Runtime@GetMapping("/runtime/exec")pu......