1.抽象类无法实例化
abstract class Person
{
public Person(String n)
{
name=n;
}
abstract String getDcription();
public String getName()
{
return name;
}
private String name;
}
public class Demo
{
public static void main(String[]args)
{
Person p=new Person();//这里会报错
}
}
2.抽象类中的方法可以是实现了方法体,也可以是抽象的方法
3.一个类如果继承了抽象类就必须实现它的所有抽象方法,否则这个类也是抽象的。
abstract class Man extends Person
{
public Man(String n) {
super(n);
this.gender="male";
}
public String getGender()
{
return gender;
}
private String gender;
}
(这里要实现抽象类Person中的抽象方法getDcription)
4.上面这段代码会报错,为什么?把错误贴出来:Implicit super constructor Man() is undefined for default constructor. Must define an explicit constructor。意思是指Man的父类中没有默认的构造函数,因此类Man必须显式地定义一个构造函数。或者可以往Person类中添加一个无参数的构造函数。