java接口----继承(实现)方法

  1. 文中“实现”一词特指接口的继承。
  2. 一个类实现多个接口时,不能出现同名的默认方法。
  3. 一个类既要实现接口又要继承抽象类,先继承后实现。
  4. 一个抽象类可以继承多个接口(implements),一个接口却不可以继承抽象类,一个接口可以用(extends)继承多个接口。
  5. 接口中默认方法加default,抽象方法abstract可省略,数据成员必须赋初值,final可省略。
  6. 接口的作用是制定标准,一个各方都需要遵守的守则。
  7. 为了使客户端简化(不列出所有的对象供选择),取得接口實例對象,优先采用工廠模式。

public class test1 {

public static void main(String[] args)

{ Fruit a = Factory1.getInstance("apple");

a.eat();
}
}

interface Fruit
{
public void eat();
}
class Apple implements Fruit
{
public void eat()
{
System.out.println("吃苹果");
}
}
class Orange implements Fruit
{
public void eat()
{
System.out.println("吃橘子");
}
}
class Factory1 //取得fruit类的实例对象
{
public static Fruit getInstance(String classname)
{
if("apple".equals(classname))
return new Apple();
if("Orange".equals(classname))
return new Orange();
return null;
}
}
此时的程序,客户端(main方法)没有和具体的子类耦合在一起,如果有更多的Friut子类接口出现只需要修改factory类即可,所有接口对象都通过factory类取得,在开发中
只要遇到取得接口对象实例的操作都应该采用工厂设计模式。

时间: 2024-08-17 04:17:03

java接口----继承(实现)方法的相关文章

java 接口 继承 的有趣现象

public class TestA { private String ta="我是类TestA"; public String fiall() {//System.out.println(this.ta);return ta; }} 上面第一个类,作为父类 -------------------------------------------------------------------------------------------------------------------

教你在Java接口中定义方法

基本上所有的Java教程都会告诉我们Java接口的方法都是public.abstract类型的,没有方法体的. 但是在JDK8里面,你是可以突破这个界限的哦. 假设我们现在有一个接口:TimeClient,其代码结构如下: import java.time.*; public interface TimeClient { void setTime(int hour, int minute, int second); void setDate(int day, int month, int yea

JAVA中继承时方法的重载(overload)与重写/覆写(override)

JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就说两个函数是重载函数,而至于返回值是否一样,没关系.同时,重载可以发生在同一个类中也可以发生在继承关系中. class A { } class B extends A { public void fun(String data1) { System.out.println(data1); } pub

Java接口中的方法

接口中可以含有变量和方法.但是,接口中的变量会被隐式地指定为public static final变量(并且只能是public static final变量,用private修饰会报编译错误),而方法会被隐式地指定为public abstract方法且只能是public abstract方法(用其他关键字,比如private.protected.static. final等修饰会报编译错误),并且接口中所有的方法不能有具体的实现,也就是说,接口中的方法必须都是抽象方法. 这些都是大家熟知的,但是

JAVA接口继承、抽象类等

1.定义接口 package test.intefaces; public interface TestIntefaceA { void testA(); void testB(); void testC(); } 2.定义抽象类实现接口: package test.intefaces.impl; import test.intefaces.TestIntefaceA; public abstract class TestAbstractImplA implements TestInteface

针对中科院java接口的使用方法和问题

1.下载附加的中科院分词工具包(要下载的到我的博客里面免费下载即可) 2.解压后会看到如下几个文件夹 3.把java工程导入eclipse中,点击import,再选择existing project into workspace 4.导入sample文件下的JnaTest_NLPIR的java工程文件,按确定即可导入 5.在NlpirTest类下修改路径问题: (1)我的NLRIR的路径是"E:\数据挖掘\数据挖掘课程作业(大三)\汉语分词20140928\lib\win64\NLRIR&quo

【java】Java的继承,方法重写,访问权限

继承 **首先面向对象的三大特性: 1. 封装 2. 继承 3. 多态** 语法 class Subclass extends Superclass{ } 作用 继承的出现提高了代码的复用性. 继承的出现让类与类之间产生了关系,提供了多态的前提. 不要仅为了获取其他类中某个功能而去继承 例子 class Person { String name; int age; } /*继承与Person类*/ class Student extends Person { int weight; } Stud

实习第一周第一天:接口 extends是继承类,implement是实现接口,原接口里面的方法填充,方法名也是不变,重写override是父类的方法名不变,把方法体给改了

一.定义 Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能). 接口定义的一般形式为: [访问控制符]interface <接口名> { 类型标识符final 符号常量名n = 常数: 返回值类型  方法名([参数列表]); - } 二.接口的特点 1.Java接口中的成员变量默认都是public,static,final类型的(都可省略),必须被显

hadoop2.5.2学习及实践笔记(六)—— Hadoop文件系统及其java接口

文件系统概述 org.apache.hadoop.fs.FileSystem是hadoop的抽象文件系统,为不同的数据访问提供了统一的接口,并提供了大量具体文件系统的实现,满足hadoop上各种数据访问需求,如以下几个具体实现(原表格见<hadoop权威指南>): 文件系统 URI方案 Java实现 (org.apache.hadoop) 定义 Local file fs.LocalFileSystem 支持有客户端校验和本地文件系统.带有校验和的本地系统文件在fs.RawLocalFileS