一、抽象类的概念
抽象方法是只声明而未实现的方法;
- 1、抽象类和抽象方法都必须用abstract关键字来修饰;
- 2、抽象类不能实例化,所以 不能直接用new关键字产生对象;
- 3、抽象方法只需声明,不需要实现;
- 4、含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆写所有的方法后才能被实例化,否则这个子类还是抽象类
语法:
abstract class 类名称
{
声明数据成员
访问权限 返回值的数据类型 方法名称(参数...)
{
//定义一般方法
}
abstract 返回值的数据类型 方法名称(参数)
}
例,代码:
abstract class Person {
String name;
int age;
String occupation;
public abstract String talk(); //声明一个抽象方法talk()
}
class Student extends Person//Student类继承自Person
{
public Student(String name,int age,String occupation) {
this.name = name;
this.age = age;
this.occupation = occupation;
}
public String talk() { //覆写抽象方法talk()
return "学生--->:姓名:"+this.name+",年龄:"+this.age+",职业:"+this.occupation+"!";
}
}
class Worker extends Person //Worker类继承自Person类
{
public Worker(String name,int age,String occupation)
{
this.name = name;
this.age = age;
this.occupation = occupation;
}
public String talk() //覆写抽象方法talk()
{
return "工人--->:姓名:"+this.name+",年龄:"+this.age+",职业:"+this.occupation+"!";
}
}
class AbstractClassDemo
{
public static void main(String[] args)
{
Student s = new Student("张三",20,"学生"); //创建Student类对象s
Worker w = new Worker("李四",30,"工人"); //创建Worker类对象w
System.out.println(s.talk());
System.out.println(s.talk());
}
}