JAVA补充-抽象类

1.抽象类基本概念

 1 package com.neusoft.abstracted;
 2 /**
 3  * 抽象类:在class之前加abstract关键字
 4  * 抽象方法语法: 修饰符  abstract  返回值类型  方法名(形参列表);
 5  * 1.抽象方法的返回值前面有abstract关键字
 6  * 2.抽象方法没有方法体
 7  * 3.抽象方法的定义是一行单独的语句,,以分号结束。
 8  * ===================================
 9  * 4.一个类中如果定义了抽象方法,这个类一定是抽象类
10  * 5.抽象方法必须在抽象类中,但是抽象类中可以没有抽象方法
11  * 6.抽象类不能自己创建自己的对象,使用new创建抽象类对象将产生错误
12  * 7.子类继承抽象类的时候,应该覆盖抽象类中的所有方法,否则子类也必须定义为抽象类
13  *
14  *问题:定义一个类,使得其包含计算面积的方法,定义表示三角形的类Triangle和
15  *表示矩形的类Rectangle,分别继承上述的抽象类。
16  */
17 public abstract class AbstractClassedDemo {
18         double width;
19         double height;
20         public AbstractClassedDemo(double w,double h) {
21             this.width=w;
22             this.height=h;
23         }
24         public abstract double getAera();
25 }

2.以矩形、三角形等为例分析抽象类

 1 package com.neusoft.abstracted;
 2 
 3 public class Rectangle extends AbstractClassedDemo{
 4 
 5     public Rectangle(double w, double h) {
 6         super(w, h);
 7     }
 8 
 9     @Override
10     public double getAera() {
11         return width*height;
12     }
13 
14 }
Rectangle矩形类

3.三角形

 1 package com.neusoft.abstracted;
 2 
 3 public class Trangle extends AbstractClassedDemo {
 4 
 5     public Trangle(double w, double h) {
 6         super(w, h);
 7     }
 8 
 9     @Override
10     public double getAera() {
11         // TODO Auto-generated method stub
12         return width*height/2;
13     }
14 
15 }
Trangle

 4.测试代码

 1 package com.neusoft.abstracted;
 2 
 3 public class TestAbstract {
 4     public static void main(String[] args) {
 5         Trangle trangle = new Trangle(4, 6);
 6         Rectangle rectangle = new Rectangle(4, 6);
 7         
 8         System.out.println("三角形"+trangle.getAera());
 9         System.out.println("四边形"+rectangle.getAera());
10     }
11 }
TestAbstract

5.结果分析:

 

转载于:https://www.cnblogs.com/jackchen-Net/p/6524555.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572665.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android谷歌补丁日期,久违的Android更新补丁:多年前的坑,谷歌终于给填上了

3月5日消息,近日谷歌在最新的Android安全公告中称,当前更新的补丁CVE-2020-0069已修复联发科芯片设备的安全漏洞。据了解,联发科曾在2016年左右确认,部分搭载联发科芯片的Android设备存在安全性问题,所涉及的设备数量达…

android个人微信支付,Android之微信支付

Android开发中,大多数电商APP都会有支付这么模块,此博客就讲一下微信支付,代码不多,很简单就可以完成,支付宝支付请看博客 Android支付之支付宝封装类先来看看效果图微信支付首先要去微信开发平台申请,得到…

华为鸿蒙山海,华为包圆了整部《山海经》,鸿蒙是何意?还有青龙白虎朱雀玄武?...

华为已经申请注册“华为鸿蒙”商标并标注该商品可用于操作系统程序鸿蒙一个自带书香气的名字一听就是文化人!一听就是中华文化传承人!那么鸿蒙是啥意思鸿蒙就是一团气不是普通的气体传说盘古在昆仑山开天辟地之前世界是一团混沌的元气这种自然的元气叫做…

ASP.NET MVC5使用Area区域

转载:http://www.lanhusoft.com/Article/217.html 在大型的ASP.NET mvc5项目中一般都有许多个功能模块,这些功能模块可以用Area(中文翻译为区域)把它们分离开来,比如:Admin,Customer&#xff0c…

html5 最小化,当前界面最小化快捷键 窗口最小化和全屏化的快捷键是什么?

怎样用快捷键显示最小化的窗口在键盘上同时按下WinD 键,可以最小化所有窗口。在键盘上再次同时按下WinD 键,可以还原步骤1最小化的所有窗口。在键盘上同时按下WindowsM键,可以最小化所有窗口。在键盘上同时按下WindowsShiftM键。电脑窗口最小…

华为鸿蒙用户体验计划怎样关闭,华为用户要注意,手机关闭这3个“默认选项”,还能流畅再用2年...

华为用户要注意,手机关闭这3个“默认选项”,还能流畅再用2年众所周知,我们在使用手机的时候,经常会有这样的感触,就是手机明明才刚买没多久,使用起来却相当的卡顿,这还是为什么?手机…

html5手机端三级联动城市选择代码,省市县三级联动(jQuery手机端收货地址选择地区代码)...

【实例简介】【实例截图】【核心代码】jQuery手机端收货地址选择代码 - 站长素材默认调用所在地区:设置默认值所在地区:/*** 默认调用*/!function () {var $target $(#J_Address);$target.citySelect();$target.on(click, function (event) {event.stop…

内连接、左外连接、右外连接、交叉连接区别

在之前,我对MSSQL中的内连接和外连接所得出的数据集不是很清楚。这几天重新温习了一下SQL的书本,现在的思路应该是很清楚了,现在把自己的理解发出来给大家温习下。希望和我一样对SQL的连接语句不太理解的朋友能够有所帮助。(发这么…

winform数据传递到html,C#下winform和JS的互相调用和传参(webbrowser)

不多说,直接上代码,winform下button1调用js函数,从html页面获取值,然后JS调用WINFORM的函数,传送获取到的值到winform并通过messagebox的方法show出来。一步到位, winform调用JS函数 和JS调用winform函数的…

xcode开发html5工具,5个Xcode开发调试技巧

1.Enable NSZombie Objects(开启僵尸对象)Enable NSZombie Objects可能是整个Xcode开发环境中最有用的调试技巧。这个技巧非常非常容易追踪到重复释放的问题。该技巧会以非常简洁的方式打印指出重复释放的类和该类的内存地址。怎么开启僵尸对象呢?首先打开“Edit Sc…

Unity 协程深入解析与原理

先来直接放一段代码 1 using System.Collections;2 using System.Collections.Generic;3 using UnityEngine;4 5 public class CoroutineTest : MonoBehaviour6 {7 8 void Start()9 { 10 Debug.Log("Start Begin"); 11 12 CustomCoroutine …

NAT协议详解

NAT(Network Address Translation,网络地址转换)是将IP数据报头中的IP地址转换为另一个IP地址的过程。在实际应用中,NAT主要用于实现私有网络访问公共网络的功能。这种通过使用少量的公网IP地址代表较多的私网IP地址的方式&#x…

计算机应用基础文字处理软件应用职高PPT,《计算机应用基础》职高2010修订版_教(学)案...

《计算机应用基础》职高2010修订版_教(学)案 (93页)本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!39.9 积分. .《计算机应用基础》职高2010修订版 教案第一章 计算机基础知识第二章 中文…

快速排序【记录一下代码】

本文仅用作学习记录,大神勿喷O(∩_∩)O~ 代码一、百度百科C语言版本代码,参考数据结构p274(清华大学出版社,严蔚敏) 1 void Qsort1(int a[], int low, int high)//百度百科C语言版本代码 2 {/*参考数据结构p274(清华大学出版社,严蔚敏)*/3 …

eclipse 修改java代码不重启服务器 生效配置

1.本文目的:用tomcat进行web开发时,修改Java代码往往要重启代码,当工程较大启动较慢时,严重影响效率,本文通过eclipse下tomcat开发和发布web程序时,对一些Java代码一般修改(不是增减方法、变量&…

Shell第二篇:正则表达式和文本处理工具

一 什么是正则 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。 生活中处处都是正则: 比如我们描述:4条腿 你可能会想到的是四条腿…

计算机二级办公软件高级应用难不难,计算机二级office难吗 考试内容是什么

相信很多的在校大学生或者已经开始工作的小伙伴都会有考虑过要考国二MsOffice高级应用考试,那么,计算机二级office难吗?考试内容是什么?计算机二级office难吗许多考生基础差,考生缺乏备考计划,超过70%的考生…

sed 解释正则表达式

以/etc/passwd文件为模板 1,删除文件每行的第一个字符。 2,删除文件每行的第二个字符。 3,删除文件每行的最后一个字符。 4,删除文件每行的倒数第二个字符。 5,删除文件每行的第二个单词。 转载于:https://www.cnblogs…

在windows下codeblocks中配置pthread库

转自:http://blog.csdn.net/u013172314/article/details/50846198 如果添加方法不正确,可能会出现pthread_create’未定义的引用,所以下面我讲一下正确的配置方法。 首先介绍一下我的安装平台和需要下载的工具包: win7 64位&#…

[Android-Appium]: 安卓自动化测试: 环境准备

安卓自动化测试:环境的准备: 在做安卓自动化测试之前,需要在你的电脑上做如下环境的准备, 我用的是 Appium做的自动化测试。 安装Appium server, 安装路径:http://appium.io/ https://bitbucket.org/app…