什么时候定义抽象类:
当多个类中出现了相同功能,但是功能主题不同,
这是可以进行向上抽取,只抽取功能定义,而不抽取功能主题!
抽象类特点:
1 抽象方法一定定义在抽象类中
2 抽象方法,和抽象类都必须被abstract 关键词修饰。
3 抽象方法不可以用new 创建对象, 因为调用抽象方法没有意义。
4 抽象方法中 的方法要被使用,必须有子类复写起搜有的抽象方法后,建立子类对象调用。
注意:
如果,子类只覆盖了部分抽象方法,那么该子类还是一个抽象方法!
抽象类,和一般类,没有太大的不同。
该如何描述事物,就如何描述事物!只不过,该事物出现了一些看不懂的东西。
这些不确定的部分,也是该事物的功能,需要明确出现。但是无法定义主体。
通过抽象方法来表示,抽象类,比一般多了抽象函数。抽象类不可以实例化。
特殊: 抽象类中可以不定义抽象方法,这样做仅仅是不让该类建立对象!
实例:
public class Child extends Children {
public Child(String name) {
super(name);
}
public void printName() {
System.out.println(super.getName());
}
public static void main(String[] args) {
Child boy = new Child("Charley");
System.out.println(boy.getName());
Child girl = new Child("Queenie");
girl.printName();
}
}
abstract class Children {
private String name;
public Children(String name) {
this.name = name;
}
public String getName() {
return name;
}
abstract void printName();
}
|