Java Interface and Class Hierarchy

原创 2004年07月06日 14:37:00
public interface IClassUpA {
?? ?public void sayA();
}

public interface IClassUpB {
??? public void sayB();
}

public interface IClassUp extends IClassUpA, IClassUpB {
??? public void say();
}

// Do NOT implements IClassUpA here!
public class ClassUpA {
??? public void sayA() {
??? ??? System.out.println("ClassUpA sayA()");
??? }
}

// Here ClassUp implements IClassUp, which extends IClassUpA and IClassUpB.
//
// Now the ClassUp's method sayA(), which extended by ClassUpA, is the
// implementation of IClassUpA#sayA().
//
// That is to say, even though ClassUpA.sayA() is not the implementation of
// IClassUpA.sayA, it becomes the implementation of IClassUpA.sayA() by its
// descendant class ClassUp through "extends ClassUpA implements IClassUp".
//
// Something interesting and somewhat confusing for some large system.
public class ClassUp extends ClassUpA implements IClassUp {
??? // No need to implement the IClassUpA.sayA() here!
??? public void say() {
??? ??? System.out.println("ClassUp say()");
??? }
??? public void sayB() {
??? ??? System.out.println("ClassUp sayB()");
??? }
}

// Test my idea.
public class InterfaceAndClassTest {
??? public static void main(String[] args) {
??? ??? Object cu = new ClassUp();
??? ??? if (cu instanceof ClassUpA) {
??? ??? ??? ClassUpA myCU = (ClassUpA) cu;
??? ??? ??? myCU.sayA();
??? ??? }
??? }
}
// Result:
// ClassUpA sayA()

// Copyright NOTICE:
// You are authorized to copy and use this example codes and comments for
// non-commercial use, under the condition that you keep? the article's copyright
// notice unchanged and ship with the notice.

// This article is firstly posted at
// http://blog.csdn.net/reve/

/*******************************************************************************
?* Copyright (c) 2002, 2004 IDSignet.
?* All rights reserved.
?* http://www.idsignet.com
?*
?* Created on Jul 6, 2004
?*******************************************************************************/

/**
?* @author Janyckee Joz
?*/

CommAPI.CHM

  • 2014年01月02日 12:22
  • 81KB
  • 下载

Idea Class Hierarchy Filter

idea查看类继承的快捷键(CTRL+H)我相信大哥在网上随便一搜应该都能够搜索到答案。但是当我们使用CTRL+H查看类继承的时候。显示结果如下图所示,会展示Classpath下面所有jar的继承关系...
  • u012410733
  • u012410733
  • 2016-08-16 22:35:45
  • 1164

interface和class的区别

1、接口类似于类,但接口的成员都没有执行方式,它只是方法、属性、事件和索引的组合而已,并且也只能包含这四种成员;类除了这四种成员之外还可以有别的成员(如字段)。 2、不能实例化一个接口,接口只包括成员...
  • c_z_w
  • c_z_w
  • 2017-01-11 09:32:08
  • 266

【Java】Java编译错误:需要class,interface或enum

源代码public class FirstSample{ public static void main(String[] args){ System.out.println("We wi...
  • White_Idiot
  • White_Idiot
  • 2017-01-22 18:44:49
  • 7886

第21章:class hierarchy

一:多重继承:1:在单个继承下,派生类的指针和引用可以自动转换为基类的指针和引用,对于多重继承也是如此,派生类的指针和引用可以转换为其任意基类的指针和引用。class A{ /***/ };class...
  • weishenmetlc
  • weishenmetlc
  • 2016-06-17 21:45:05
  • 320

判别Class是否属于Interface

判别Class是否属于Interface本人在最近的项目中遇到一个问题,需要往一个接口方法中增加参数,但由于项目已经稳定运行了很长一段时间,不可能去改造现有方法,只能通过新增接口的方式去解决。 对于...
  • an129
  • an129
  • 2017-02-23 14:53:20
  • 463

Java中abstract class和interface的区别

在Java语言中,abstract和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的面向对象能力。abstract class和interface之间在对...
  • shuaijunlan
  • shuaijunlan
  • 2016-05-11 20:32:36
  • 3666

错误: 需要class, interface或enum

//----------------------- //package命令必须放在第一行(本例中放在了第4行) ---------- 编译Java程序 ---------- LoginServl...
  • ycjnx
  • ycjnx
  • 2015-07-21 09:00:51
  • 5249

Java异常: Found interface … but class was expected

This happens when your runtime classpath is different than your compile time classpath. 这个异常是由于你的...
  • earthhour
  • earthhour
  • 2018-02-05 10:50:11
  • 78
收藏助手
不良信息举报
您举报文章:Java Interface and Class Hierarchy
举报原因:
原因补充:

(最多只允许输入30个字)