抽象类

一、抽象类的概念

抽象方法是只声明而未实现的方法;

  • 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());
    }
}
抽象类_第1张图片
代码实现

你可能感兴趣的:(抽象类)