• 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
  • 相关阅读:
    dom4j的安装
    OWl本体语言学习笔记
    java学习笔记之链表(约瑟夫问题)
    C#打开指定文件夹及下载文件代码示例
    如何把phpStorm打造成自己的专属IDE
    SQL和TSQL之间的区别
    整数的划分(分治递归)
    整数的划分(变形)(分治递归)
    子序列 (Data_Structure)
    找球号(Hash)
  • 原文地址:https://www.cnblogs.com/tommychok/p/5503813.html
Copyright © 2020-2023  润新知