一个JAVA的封装问题
public interface B {
public void methodD();
}
------------------------------------
类A:
public abstract class A implements B{
abstract void methodA();
abstract void methodB();
abstract void methodC();
public void methodD(){
methodC();
methodB();
methodA();
}
}
--------------------------------------
类D:
public class D extends A {
void methodA() {
// TODO Auto-generated method stub
System.out.println("方法A");
}
void methodB() {
// TODO Auto-generated method stub
System.out.println("方法B");
}
void methodC() {
// TODO Auto-generated method stub
System.out.println("方法C");
}
}
----------------------------------------
类C:
public class C{
public B methodE(){
B c=new D();
return c;
}
}
这个类到底怎么理解呢?
-------------------------------------
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
C d=new C();
B c=d.methodE();
c.methodD();
}
}
上面类C里的: B c=new D(); 这到底怎么回事呢?不是父类与子类之间才可以这样的吗?现在这样是什么意思呢?
相关推荐
Java封装、继承、多态、super杂糅在一起的小练习,公司雇员员工工资问题(Employee),练习扩展:创建一个Employee数组,分别创建不同的Employee对象,并打印某个月的工资
@Java 大家好,我是Ziph! 下面分为三种打印方法: import java.util.Scanner; /** * @author Ziph * @date 2020年2月21日 * @Email mylifes1110@163.com */ public class TestDemo { public static void main(String[] args) { //----------------------------------------------------------------------------------------- //方法一、 Sala
java调用C#封装的dll方法
java调用C#封装的dll方法 关于java调用C# 封装的DLL文件的方法 第一种:java利用JNA进行调用 思路:C#源码生成COM组件(dll和tlb文件),再利用C++进行封装,java通过JNA调用C++封装的DLL。 第二种:java利用jacob进行调用
Java数据封装树形结构代码实例
主要介绍了Java数据封装树形结构代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
java-echarts封装
这里面是java对echarts的封装,生成gson格式字符串,js可以直接获取到gson字符串进行解析,展示
用java封装的sox工具
将sox工具用java进行封装,可在java代码中直接使用sox。 相当于java与sox之间的适配程序,非常实用


Java SE
