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设备存在安全性问题,所涉及的设备数量达…

Linux查看进程并重启服务命令

top -u root 查看系统进程service network restartservice iptables restartservice sshd restartservice nginx restartservice mysqld restart chkconfig转载于:https://www.cnblogs.com/liruning/p/6526487.html

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

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

php-函数,数组

自定义函数 function xxx(){ } 函数调用 xxx(); 参数 function xxx($a,$b//1){//当此括号内参数有值时,是默认参数 echo $a$b; } xxx(1,1);//引用括号内的参数 可变个数参数 function xxx(){ echo func_num_args();//输出参数个数 echo array_sum(func_get_args());…

android的图片缩放,Android图片缩放总结及比较

在Android中对大图片进行缩放真的很不尽如人意,不知道是不是我的方法不对。下面我列出3种对图片缩放的方法,并给出相应速度。请高人指教。第一种是BitmapFactory和BitmapFactory.Options。首先,BitmapFactory.Options有几个Fields很有用&…

rtf乱码解决办法

首先,阐述下rtf,富文本格式文档,目前常用来做模板; 我遇到的问题是rtf中替换后的文本显示是正常的,rtf直接转pdf就不正常了,通过notpad 打开后发现rtf本身内容编码是我没有见过的(查资料说时ans…

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

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

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年众所周知,我们在使用手机的时候,经常会有这样的感触,就是手机明明才刚买没多久,使用起来却相当的卡顿,这还是为什么?手机…

html 像素跟百分比,html – 将百分比宽度与边距(以像素为单位)组合起来

我有一个包含多个项目的页面,其宽度为33.33%,以填充页面的整个宽度.但是,我想在项目之间添加20px的边距(垂直和水平,但垂直是这里的问题),但只是在连续的每个第1和第2项的右边添加20px边距,销毁整个页面. (从小提琴中删除已注释掉的CSS,看看我的意思).现在,问题是&a…

GCC命令

一. 常用编译命令选项 源程序test.c 1. 无选项编译链接用法:#gcc test.c作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。 2. 选项 -o用法:#gcc test.c -o test作用:将tes…

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…

求1-n之内的素数

#include<stdio.h>#include<math.h>int main(){ int n,i,j,k; scanf("%d",&n); //输入范围n for(i2;i<n;i) { ksqrt(i); for(j2;j<sqrt(i);j) { if(i%j0){ //如果i…

计算机基础和操作系统基础知识测试,计算机基础知识和操作系统.doc

全国计算机等级考试精讲精解精练——二级C第1章 计算机基础知识与操作系统 PAGE 2 PAGE 33技术资料共享知识第1章计算机基础知识与操作系统大纲要求了解计算机的有关概念及软硬件系统的组成&#xff1b;了解数据基本单位&#xff0c;掌握计算机常用数制的转换方法&#xff1b;具…

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 …

计算机操作员初级 第1单元0202微型计算机基本操作 教学大纲,计算机操作员教学大纲...

计算机操作员培训教学大纲一、课程的地位、目的与任务计算机应用基础课程是计算机操作员必修课。通过学习&#xff0c;测试学员的计算机基础知识&#xff0c;基本操作和使用计算机的能力&#xff1b;它是学员学习计算机的入门课程&#xff0c;提高学员的综合学习的能力。二、教…