1.可以不定义粗象方法,但是定义了粗象方法的类必须是粗象类,并且不能实例化
public abstract class Custom {
public void getCustomName(){
System.out.println("获取客户名称");
}
}
2.粗象类的粗象方法不能有具体实现如say(),非粗象方法可以有具体实现,如getCustomName()
public abstract class Custom {
public void getCustomName(){
System.out.println("获取客户名称");
}
//不能有具体实现
public abstract void say();
}
3.粗象类可以有构造方法,但是不能用abstract关键字修饰,因为构造方法是不能被继承的
public abstract class Custom {
//粗象类可以有构造方法,但是不能用abstract关键字修饰,因为构造方法是不能被继承的
public Custom() {
}
public void getCustomName(){
System.out.println("获取客户名称");
}
//不能有具体实现
public abstract void say();
}
4.抽象方法可以有public,protected和default等修饰,非粗象方法public,protected,private都可以
public abstract class Custom {
//粗象类可以有构造方法,但是不能用abstract关键字修饰,因为构造方法是不能被继承的
public Custom() {
}
private void getCustomName(){
System.out.println("获取客户名称");
}
//不能有具体实现
public abstract void say();
protected abstract void read();
//不能定义私有方法
//private abstract void run();
}