package edu.zjut.cxd;
import java.util.Date;
public interface Traffic {
public void move();
public int capacity();
Date date();
public abstract void init();
}
接口中默认方法为public类型,即使不加public,而不像class,若不加public类型则为package权限。
package edu.zjut.cxd;
import java.util.Date;
public abstract class TrafficImp implements Traffic{
@Override
public void init() {
// TODO Auto-generated method stub
}
@Override
public void move() {
// TODO Auto-generated method stub
}
@Override
public int capacity() {
// TODO Auto-generated method stub
return 0;
}
@Override
public Date date() {
// TODO Auto-generated method stub
return null;
}
public void owner()
{
System.out.println("it's own to cxd");
}
abstract void abc();
}
此处abc()方法则为package权限,抽象类中可以含有0个或多个抽象方法。date()方法在使用了接口时默认添加上了public
package edu.zjut.cxd;
public class TrafficImp2 extends TrafficImp {
@Override
void abc() {
// TODO Auto-generated method stub
System.out.println("cxd");
}
}
@Override abc方法时,权限仍为package
package edu.zjut.cxd2;
import edu.zjut.cxd.TrafficImp2;
public class TrafficImp2Test {
public static void main(String[]agrs)
{
TrafficImp2 traffic = new TrafficImp2();
traffic.date();
traffic.abc();
}
}
traffic.date();traffic.abc();此处traffic.abc();下有波浪线,该方法为package权限不能被访问,date()方法则可以正常访问。包目录结构如下:
包目录结构如下: