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
  • 相关阅读:
    URL传递的参数是UTF-8编码,在打开的页面正常显示(GB2312)的方法
    JS windows.open打开窗口并居中
    一个tomcat如何部署多个项目运行
    redis 服务配置开机自启动
    解决端口被占用问题
    MySQL中concat以及group_concat的使用
    java 使用OpenOffice文件实现预览
    eclipse安装maven插件
    数据库三范式
    mysql 查询的字段值太长显示不全 group_concat
  • 原文地址:https://www.cnblogs.com/tommychok/p/5503813.html
Copyright © 2011-2022 走看看