抽象类和抽象方法

发布时间:2024年01月21日

抽象方法:将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。 抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类。

抽象方法的定义格式:

  public abstract 返回值类型 方法名(参数列表);

抽象类的定义格式:

 public abstract class类名{}
  package oop.a01abstract;
  public abstract class person {
      public abstract void work();
  }

抽象类和抽象方法的注意事项

  • 抽象类不能实例化

  • 抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类

  • 可以有构造方法

  • 抽象类的子类:要么重写抽象类中所有抽象方法,要么是抽象类

  package oop.a01abstract;
  public abstract class person {
      private String name;
      private int age;
      //作用:当创建子类对象时,给属性进行赋值
  public person(){}
      public person(String name, int age) {
          this.name = name;
          this.age = age;
      }
  
      public String getName() {
          return name;
      }
  
      public void setName(String name) {
          this.name = name;
      }
  
      public int getAge() {
          return age;
      }
  
      public void setAge(int age) {
          this.age = age;
      }
  
      public abstract void work();
  }
  package oop.a01abstract;
  public class Student extends person{
      public Student() {
      }
  
      public Student(String name, int age) {
          super(name, age);
      }
  
      @Override
      public void work() {
          System.out.println("学生的工作是学习");
      }
  }
  package oop.a01abstract;
  public class Test {
      public static void main(String[] args) {
  Student s=new Student("karry",24);
          System.out.println(s.getName()+","+s.getAge());
      }
  }

文章来源:https://blog.csdn.net/qq_52326978/article/details/135723548
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。