当有人想继承org.eclipse.draw2d.graph中的
GraphVisitor类时,却惊奇的发现import不进来,而且jar包里确实有这个包,这个时候不妨看看它的源代码吧,
abstract 只能继承和实现,而且没有public那你也就不能直导了,这就是大家为什么在导入的时候找不到这个类的原因所在了,那么怎么做呢,不能直接导那就不要导了,不能在别的包中使用,那就不要在别的包里使用了,新建个包,和 GraphVisitor 所在的包名一样也就是org.eclipse.draw2d.graph,然后在里面新建类继承和实现 GraphVisitor 就可以了,最后提醒大家一句:要用变化的眼光看待问题,api变动很正常
/*******************************************************************************
* Copyright (c) 2003, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.draw2d.graph;
/**
* Performs some action on a Graph.
* @author Randy Hudson
* @since 2.1.2
*/
abstract class GraphVisitor {
/**
* Act on the given directed graph.
* @param g the graph
*/
void visit(DirectedGraph g) { }
/**
* Called in reverse order of visit.
* @since 3.1
* @param g the graph to act upon
*/
void revisit(DirectedGraph g) { }
}
abstract 只能继承和实现,而且没有public那你也就不能直导了,这就是大家为什么在导入的时候找不到这个类的原因所在了,那么怎么做呢,不能直接导那就不要导了,不能在别的包中使用,那就不要在别的包里使用了,新建个包,和 GraphVisitor 所在的包名一样也就是org.eclipse.draw2d.graph,然后在里面新建类继承和实现 GraphVisitor 就可以了,最后提醒大家一句:要用变化的眼光看待问题,api变动很正常