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


      含有抽象方法的类,抽象方法即用abstract修饰的方法,即父类只知道其子类应该含有该方法,但无法知道子类如何实现这些方法
      抽象类限制规定子类必须实现某些方法,但不关注实现细节
      抽象类中可以包含普通方法(在Java中仍然为虚方法),也可以没有抽象方法
      抽象类无法用于实例化对象,但可以定义引用变量,以用于指定子类对象

    参考代码:

    抽象类Shape

    package com.hao.practice;
    
    public abstract class Shape {
        public abstract float perimeter();
        public abstract float area();
    }
    View Code

    子类Circle

    package com.hao.practice;
    
    public class Circle extends Shape {
    
        static final float PI = 3.14f;
        float r = 0.0f;
    
        /*
         * 默认构造函数
         */
        public Circle() {
            super();
        }
    
        /*
         * 带参构造函数
         * @param r
         */
        public Circle(float r) {
            super();
            this.r = r;
        }
    
        /*
         * (非 Javadoc)
         * @see com.hao.practice.Shape#perimeter()
         */
        @Override
        public float perimeter() {
            // TODO 自动生成的方法存根
            return 2*PI*r;
        }
    
        @Override
        public float area() {
            // TODO 自动生成的方法存根
            return PI*r*r;
        }
    
    }
    View Code

    子类Rectangle

    package com.hao.practice;
    
    public class Rectangle extends Shape {
    
        float a = 0.0f;
        float b = 0.0f;
        
        /**
         * 默认构造函数
         */
        public Rectangle() {
            super();
        }
    
        /**
         * 拷贝构造函数
         * @param a
         * @param b
         */
        public Rectangle(float a, float b) {
            super();
            this.a = a;
            this.b = b;
        }
    
        @Override
        public float perimeter() {
            // TODO 自动生成的方法存根
            return 2*a*b;
        }
    
        @Override
        public float area() {
            // TODO 自动生成的方法存根
            return a*b;
        }
    
    }
    View Code
  • 相关阅读:
    iOS7 自己定义动画跳转
    Android开发之用双缓冲技术绘图
    postgres 使用存储过程批量插入数据
    渗透过程
    python pytesseract使用
    排序算法比较
    python算法
    python中PIL模块
    数字电路复习
    windows服务参考
  • 原文地址:https://www.cnblogs.com/tommychok/p/5503813.html
Copyright © 2011-2022 走看看