啥是抽象类?
抽象类是它的所有子类的公共属性的集合,是包含一个或多个抽象方法的类。抽象类可以看作是对
类的进一步抽象。
抽象类则是对多个类的抽象结果,抽象类进一步描述了多个具体
类的共同特征和行为。
这个解释真的是有够抽象的(bushi)怪不得叫抽象类。
抽象类简单理解,就是这个对象是什么。人和狗的抽象类都是动物。抽象类除了不能实例化对象之外, 类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。
由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。
这里需要注意的是抽象类的修饰符必须为
public
或者
protected
,不能是
private
,因为创建抽象类,就是要被其他类继承,用private
修饰了,则不能被子类继承,子类便无法实现该方法。如下方所示:
Modifies
abstract class
ClassName
{
…
}
抽象方法:
如果是实现一种方法,其具体内容由子类决定,就是抽象方法了。抽象方法只有声明,没有具体的实现:
如果一个类包含抽象方法,那么该类必须是抽象类。
任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
abstract
void
method
();
啥是接口?
这就是比抽象类更为抽象的存在了~抽象类是对类的抽象,接口是对行为的抽象。
示例代码:
public interface
Eat
{
public
void
willEat
();
}
public interface
WatchDoor
{
public
void
willWatchDoor
();
}
public interface
Think
{
public
void
willThink
();
}
public class
Dog
implements
Eat
,
WatchDoor
{
@Override
public
void
willEat
() {
System
.
out
.
println
(
"
我会吃
"
);
}
@Override
接口的主要功能是对于行为的继承。
真是一篇抽象的笔记~