zoukankan      html  css  js  c++  java
  • Java抽象类

    一,如何定义抽象类?

      class关键字前加abstract

    二,抽象类无法被实例化(无法通过new来创建对象),它的实现只能依靠继承关系,通过子类的实例化来实现自身的实例化。

    三,抽象类虽然没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的。  

    1. abstract class Person { //定义一个抽象类,必须被继承
    2.  
       
    3.  
      public Person(){
    4.  
      System.out.println("调用的是父类的无参构造函数");
    5.  
      }
    6.  
      public Person(int i) {
    7.  
      System.out.println("调用的是父类的有参构造函数");
    8.  
      }
    9.  
      }
    10.  
       
    11.  
      class Student extends Person {
    12.  
      // 想调用父类抽象类的有参构造函数必须先显式声明,然后通过super函数调用
    13.  
      Student(int i) {
    14.  
      super(i);
    15.  
      //必须显示的调用父类构造方法,super代表父类对象
    16.  
      System.out.println("子类的有参构造函数 ");
    17.  
      }
    18.  
       
    19.  
      //默认调用父类的无参构造函数,同样必须显式声明
    20.  
      Student(){
    21.  
      System.out.println("子类的无参构造函数");
    22.  
      }
    23.  
      }
    24.  
      public class Test {
    25.  
      public static void main(String[] args) {
    26.  
      int i=0;
    27.  
      Student 有参 = new Student(i);
    28.  
      Student 无参 = new Student();
    29.  
       
    30.  
       
    31.  
      }
    32.  
      }

    四,抽象类中可以定义抽象方法。

      *抽象方法的语法:在方法的修饰符列表添加abstract关键字。并且该抽象方法应该以“ ;”结束,不能带有“ { } ”。(注:抽象类不能被final修饰)

      例如:public  abstract  void  m1( ) ;

    五,一个非抽象的类继承抽象类,必须将抽象类中的抽象方法覆盖,实现,重写

  • 相关阅读:
    IIR数字滤波器的实现(C语言)
    V-rep学习笔记:视觉传感器2
    V-rep学习笔记:视觉传感器1
    使用Kinect2.0控制VREP中的虚拟模型
    四元数插值与均值(姿态平滑)
    Kinect2.0获取关节姿态(Joint Orientation)
    V-rep学习笔记:Reflexxes Motion Library 2
    Kinect2.0骨骼跟踪与数据平滑
    四元数与欧拉角(RPY角)的相互转换
    Kinect2.0关节角度获取
  • 原文地址:https://www.cnblogs.com/RosemaryJie/p/13041345.html
Copyright © 2011-2022 走看看