精华内容
下载资源
问答
  • 当抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口interface特点:对于接口中常见的成员:而且这些成员都有固定的修饰符,不写就默认存在1:全局常量 : 都是 public static ...

    当抽象类中的方法都是抽象的时候,这时可以将该抽象类用另一种形式定义和表示,就是接口interface
    特点:对于接口中常见的成员:而且这些成员都有固定的修饰符,不写就默认存在
    1:全局常量 :  都是 public  static   final  的常量,  int  x=4;此时在接口中也是常量,是默认加上的,为了方便阅读  必须加上修饰符
    2:抽象方法:   都是  public abstract   
    由以上的特点得出,接口中的成员常量与方法都是  公共的(public)
    --------------------------------------------
    类与类之间是继承关系,类与接口直接使实现关系
    接口不可以实例化
    只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化,否则
    这个子类就是一个抽象类
    ---------------------------------------------------
    当实现多个接口,有两个接口中的方法相同,调用时是不明确调用的哪一个的,这个是无解的,得规避这样的接口写法

    转载于:https://www.cnblogs.com/liyunchuan/p/10656215.html

    展开全文
  • 子类调用父类方法(super关键字

    千次阅读 2018-02-28 21:36:59
    public class Pad3 extends Computer3{ //子类:平板电脑 String sayhello(){ //重写父类方法‘打招呼’ return super.sayHello()+ "ipad";//调用父类方法并添加字符串 } public static void main...
    package testextends;
    
    public class Pad3 extends Computer3{  //子类:平板电脑
    	
    	String sayhello(){             //重写父类方法‘打招呼’
    		return super.sayHello()+ "ipad";//调用父类方法并添加字符串
    	}
    	public static void main(String[] args) {
    		Computer3 pc = new Computer3();     //实例化父类对象
    		System.out.println(pc.sayHello());
    		Pad3 iPad =new Pad3();  //实例化子类对象
    		System.out.println(iPad.sayhello());
    	}
    
    }
    class Computer3{           //父类:电脑	
    
    	public String sayHello() { //方法:打招呼
    		return "欢迎使用";
    	}
    }

    展开全文
  • 【定义】Java中,能够完成特定功能的...用关键字interface定义接口,通过关键字implements来实现接口; 接口中的成员变量具有公共性(public)、静态性(static)和最终性(final)。所以修饰符只能是public,因此...
    【定义】Java中,能够完成特定功能的,由若干属性和方法组织成的,相对独立的属性和方法的集合。
    【用途】实现类的多继承,以解决Java只能单继承,不支持多继承的问题。
    【特点】
    用关键字interface定义接口,通过关键字implements来实现接口;
    接口中的成员变量具有公共性(public)、静态性(static)和最终性(final)。所以修饰符只能是public,因此只能定义常量
    实现多接口的类必须符合3个原则:能为所有的接口提供实现的功能,
    能遵循重写的所有规则,
    能保持相同的返回的数据类型。
    接口的”继承”与类之间的继承不同,”继承”该接口的类,需要”自力更生”,去实现接口中的抽象方法,因此接口也相当于一个特殊的抽象类。
    接口相当于程序开发的一组协议,需要此功能的类均可”继承”该方法和集合。
    接口中的属性都是静态常量,方法都是抽象方法(即没有给出方法具体定义),一个类实现接口后,将继承接口中的所有静态常量。
    实现接口中的抽象方法时,方法头必须与接口定义中的方法头完全相同(包括访问控制修饰符、返回值类型、参数列表等)(例外:可去掉关键abstract、接口定义时public可缺省,但是实现时不可缺)

    转载于:https://www.cnblogs.com/borter/p/9463023.html

    展开全文
  • 关键字接口、抽象类

    4、 抽象类和接口


    4.1、 抽象类

    用 abstract 关键字修饰的类就是抽象类,用 abstract 关键字修饰的方法就是抽象方法。抽象方法只定义结构,而没有具体的实现,其实现是交友子类去实现的。有抽象方法的类必定是抽象类,但是抽象类可以有普通方法也可以用抽象方法。

    抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。所以抽象类的实现需要有子类去继承,而继承抽象类的子类必修实现父类的抽象方法。因为抽象方法本身没有任何意义,所以抽象类是必须要被实现,然后重写方法去具体实现的(类的所以抽象方法都要实现)。
    在这里插入图片描述

    //将动物定义为抽象类,有抽象方法
    abstract class Animals {
        abstract void sound();
        
    }
    //Dog实现了抽象类,就必须实现抽象类的抽象方法
    class Dog extends Animals{
        @Override
        public void sound() {
            System.out.println("狗叫声");
        }
    }
    

    ​ 抽象方法是否可同时是final、static、native或synchronized的?

    1、final修饰方法时表示方法不能被子类重写,抽象方法必定要被子类重写,所以不能在一起使用。
    2、static是静态方法,而抽象方法需要被子类继承和实现,static和子类无关。
    3、native表示该方法要使用另一种依赖平台的编程语言实现,不存在子类继承的问题,所以不能使用。
    4、synchronized是线程同步,而abstract抽象方法只声明没有实现,所以不存在同步,不能同用。可以在实现该方法的子类内使用。
    

    4.2、接口

    接口(interface)和抽象类(abstract)的含义很类似,但是我们知道,一个类只能去继承一个父类,那么这在某些时候就有很大的局限性了。所以就出现了接口这个概念,一个类可以去实现多个接口。

    接口主要是制定规范,内部没有具体的方法,接口无法被实例化,除非定义为抽象类,否则一旦实现接口就要实现接口内的所以方法。

    在这里插入图片描述

    • 接口不能用于实例化对象,内部没有构造方法。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。另外,在 Java 中,接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
    • JDK 1.8 以后,接口里可以有静态方法和方法体。JDK 1.8 以后,接口允许包含具体实现的方法,该方法称为"默认方法",默认方法使用 default 关键字修饰。
    • 接口中的成员变量只能是 public static final 类型
    • 接口不是被类继承了,而是要被类实现。一个类可以实现多个接口
    //接口的声明
    [public] interface 接口名 [extends 其他接口]{
    	//变量
        //方法
    }
    

    拿电脑来说,电脑上有很多的接口,其中USB接口,键盘、鼠标、耳机等,只要符合USB接口的规范就可以连接到电脑上。对比来说接口的功能就类似于USB,定义好后就只要符合了接口的规范,就可以使用

    • 定义一个电脑

      public class Computer{
          //电脑定义一个USB的接口,只要符合USB接口就能在电脑上工作
          private USB usb;
          public void setUsb(USB usb){
              this.usb = usb;
          }
          public void wook(){
              if(usb != null){
                  System.out.println("USB设备正在工作");
                  usb.write();
              }
          }
      }
      
    • 定义USB接口

      public interface USB {
          void read();	//读写方法
          void write();
      }
      
    • 定义键盘鼠标,实现USB接口

      //定义一个键盘一个鼠标,符合USB接口的规范
      public class Keyboard implements USB {
          public void Knock(){
              System.out.println("敲击键盘");
          }
          @Override
          public void read() {}
          @Override
          public void write() {
              this.Knock();
          }
      }
      
      public class Mouse implements USB {
          public  void rClick(){
              System.out.println("点击右键");
          }
          public void lClick(){
              System.out.println("点击左键");
          }
          public void read() {
          }
          public void write() {
              this.rClick();
              this.lClick();
          }
      }
      
    • 键盘鼠标通过电脑进行工作

    在这里插入图片描述

    4.3、接口、类、抽象类区别

    接口与类的区别:

    1、接口不能用于实例化对象。
    2、接口没有构造方法。
    3、接口中所有的方法必须是抽象方法。
    4、接口不能包含成员变量,除了 static 和 final 变量。
    5、接口不是被类继承了,而是要被类实现。
    6、接口支持多继承。
    

    接口和抽象类的区别

    1、接口(interface)不能被实例化,一个类只能继承一个抽象类,而一个类却可以实现多个接口。
    
    2、抽象类(abstract)不能实例化,含有抽象方法的类是抽象类。抽象类可以含有抽象方法,也可以没有,抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行。
    
    3、在JDK8之前,接口(interface)中可以定义变量和方法,变量是public、static、final的,方法是public、abstract的,JDK8    后,可以在接口中定义static、default方法。
    抽象类中的成员变量可以是各种类型的
    
    4、接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法。
    
    5、接口主要在系统架构设计上发挥作用,用于定义模块间的通信契约。
    抽象类主要在代码实现上使用。可以实现代码的重用。
    
    

    5、常用的关键字


    5.1、final、finally、finalize

    在这里插入图片描述

    final、finally、finalize的区别?

    1、final用于声明属性、方法、类。分别代表属性不可变、方法不可被覆盖、类不能被继承。内部类访问局部变量时,局部变量必须有final修饰。
    2、finally是处理异常时配合try、catch一起使用,finally内的代码块一定会执行。
    3、finalize是Object类的一个方法,当对象被回收时,垃圾回收处理器调用此方法。JVM不能保证此方法总被调用。

    5.2、static

    在这里插入图片描述

    是否可以在static修饰的方法内调用非static方法?

    答:不可以,static修饰的方法为静态方法,可以不用创建对象,而直接调用,而非static的方法需要先创建对象。所以 static修饰的静态方法在调用时,可能未创建对象,所以此时调用非static发放会出现异常。

    5.3、权限修饰符

    在这里插入图片描述

    5.4、 abstract 、instanceof

    在这里插入图片描述

    展开全文
  • 增加default方法:又叫做接口扩展方法,即在不破坏java现有实现架构的情况下能往接口里增加新方法, default关键字可以给接口添加一个非抽象的方法实现子类可以直接调用! 如果想对接口增加一个新方法,那么需要对...
  • 抽象类,接口及常用关键字

    千次阅读 2019-03-11 11:24:00
    父类中可能包含需要调用其他系列方法的方法,这些被调用方法既可以由父类实现也可以由其子类实现。父类里提供的方法只是定义一个通用算法,其实现也许并不完全由自身实现,而需要依赖其子类的辅助。 接口 什么...
  • 3、父类引用指向子类对象,对于子类新建的属性,无法通过父类引用访问(可以通过强制转换父类应用为子类应用完成访问),虽然无法访问,但是该指向子类的父类引用,因其指向子类对象,因此使用instanceof比较时是...
  • 用于定义类与类之间关系的关键字 extends 1、作用: 类的继承:只允许单继承 接口的继承:允许多继承 泛型定义时的类型边界 泛型使用时通配符的边界 2、类的继承: ​ 面向对象的三大特征:封装 — 通过访问限定符...
  • 子类要调用继承自父类的方法,必须使用super关键字。 A正确 B错误 懵逼树上懵逼果,懵逼树下你和我,首先来一段代码 如果子类没有重写父类的方法,调用父类的方法用不用super关键字结果都一样。 如果子类重写...
  • Java基础知识面试题(2020最新版)

    万次阅读 多人点赞 2020-02-19 12:11:27
    final finally finalize区别 this关键字的用法 super关键字的用法 this与super的区别 static存在的主要意义 static的独特之处 static应用场景 static注意事项 流程控制语句 break ,continue ,return 的区别及作用 ...
  • 关于子类和父类实现同一个接口

    千次阅读 2010-05-04 11:20:09
    这个问题是由下面的代码引出的:   public class StartupListener extends ContextLoaderListener ...可以看到,ContextLoaderListener已经实现了ServletContextListener这个接口, 而Star...
  • 接口(interface关键字

    千次阅读 2018-07-01 11:14:32
    1. 接口 有时必须从几个类中派生出一个子类,继承它们所有的属性和方法。但是,Java不支持多重继承。...从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。 ...
  • 接口

    千次阅读 多人点赞 2019-03-15 07:51:43
    接口的含义:接口就是只有一个抽象方法和常量的“类”。但在java8以后可以有...实现接口使用implements 关键字。 接口以具有多态性 接口和类之间的关系以及接口和接口之间的关系 (1)一个接口类可以继承多个接...
  • 接口接口实现类,接口与抽象类

    千次阅读 2019-02-07 16:34:56
    定义和实现接口 接口的定义包括接口声明和接口体两部分。接口体包括属性常量和抽象方法。 [public] interface 接口名 { 属性常量 ... 抽象方法 ... } interface是声明一个接口的关键字,在Java中,...
  • 接口interface关键字的基础语法 1.接口也是一种引用数据类型。编译之后也是一个class字节码文件。 2.接口是完全抽象的。抽象类是半抽象的,或者也可以说接口是一种特殊的抽象类。 3.接口怎么定义? [修饰符列表] ...
  • 如果一个类是一个抽象类的子类,它必须要实现父类的抽象方法,如果没有实现那么子类就是抽象类。 3.由于抽象类具有未实现的方法,所以不能创建对象。(抽象类不能实例化, 实例化就是创建对象的意思。) 4.抽象类...
  • java继承与关键字

    千次阅读 2019-03-03 16:51:13
    通过extends关键字可以实现类与类的继承 class 子类名 extends 父类名 {} 单独的这个类称为父类,基类或者超类;这多个类可以称为子类或者派生类。 Java只支持单继承,不支持多继承。 继承的特点: 1.一个类只能有一...
  • super关键字 super修饰构造器 子类实例化过程 子类实例化实例 继承练习2 1)银行账户 2)信用卡账户 继承 类间只能单继承(接口能多继承,弥补单继承的缺陷) 背景:Worker,Student类继承Person类 ...
  • java之接口(interface)和抽象(abstract)关键字详解
  • 关于Java中instanceof关键字的说明

    千次阅读 多人点赞 2018-04-10 11:31:18
    [当obj为Class的对象,或者是其直接或间接子类,或者是其接口实现类,都将返回true] * 2.编译时编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错。 * 结论: * 1.obj必须是...
  • java 实现接口

    千次阅读 2018-06-30 10:11:19
    6.2 实现接口 1 类实现接口 在Java语言中,接口由类来实现以便使用接口中的方法。 一个类需要类声明中使用关键字implements声明该类实现个或多个接口。 如果实现多个接口,用逗号隔开接口名,例如A类实现Pintable...
  • 抽象类与接口区别

    2019-04-27 11:29:46
    1.子类使用extends关键字来继承抽象类,单一继承。如果子类不是抽象类的话,它需要提供抽象类中所有声明的方法的实现子类是抽象类,可以不用完全实现父类的抽象方法 2.抽象类可以有构造器、静态代码块和静态方法...
  • 对于显式实现接口,无法在子类的引用中调用该实现,而必须使用基类的引用。 if (response != null) { response.Close(); (response as IDisposable).Dispose(); } 这样,可以成功调用Dispose,对其进行释放。 ...
  • 接口的概念、特点和final关键字 Java

    千次阅读 2019-04-22 21:10:03
    从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量和抽象方法的定义,而没有变量和方法的实现。 1.接口是一种标准,是一种规范,是一种约定 2.接口可以扩展功能 3.接口是灵活的,可以即插即拔 4.接口由继承...
  • 作用域修饰符 定义类的关键字 类名{ 类体 } 作用域修饰符主要有 public(公共的),private(私有的),protected(受保护的);定义类的关键字是class;类名由自己定义 方法 作用域修饰符 返回值 方法名(参数...
  • Java基础(八) Java修饰符及接口详解之(一)static/final/abstract关键字接口的使用 static 修饰符 final 修饰符 abstract 修饰符 接口 访问控制 == 和 equals() 的区别 基本数据类型对应的包装类型 内部类 1. ...
  • java-oop-接口

    2018-08-06 18:28:50
    接口:  从多个不相关的类型中设计出一个子类,达到多继承的目的 ... (1)使用interface关键字修饰(可以理解为:接口是特殊的抽象类)  (2)只能有抽象方法和常量  (3)不能实例化  (4)不能提供构造器  接口中...
  • 【Java 接口实现(详细版)】

    千次阅读 多人点赞 2021-03-31 09:00:37
    接口与实现1 接口二级目录三级目录2 实现接口3 理解接口 1 接口 二级目录 三级目录 2 实现接口 3 理解接口
  • Java中实现接口与继承的区别

    千次阅读 2020-10-09 00:16:57
    ** Java中接口与继承的区别 ** 在Java中,接口的实现和继承的实现很类似的,写法上是几乎是一致的,就是关键字这一部分...//实现接口一定要实现(重写)接口中所有的抽象方法 //实现接口(继承):implements //public cla

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 164,553
精华内容 65,821
关键字:

子类实现接口关键字