package abstractTest;
public class Test
{
public static void main(String[] args)//main方法必须为public,可以没有参数,但是没有参数,没办法run
{
Person.show();
}
}
abstract class Person//抽象方法必须带有abstract关键字
{
public static void show()//抽象类可以有静态方法和非抽象方法
{
System.out.println("hello");//静态方法只能访问静态成员
}
public abstract void setName();//抽象方法只有定义,没有实现
public String getName()
{
return this.name;//抽象类虽然不可以实例化,但是依然可以有this
}
public String name;
}
abstract class Student extends Person//抽象类的继承类必须实现其抽象方法,否则该子类必须声明为抽象类
{}
abstract class Animal//抽象类可以不含抽象方法
{
public static void showName()
{}
public String getKind()
{
return kind;
}
public void setName(String n)
{
this.name = n;
}
public void setKind(String k)
{
this.kind = k;
}
public String name;
public String kind;
}