JAVA补充-抽象类
1.抽象类基本概念
package com.neusoft.abstracted;
/**
* 抽象类:在class之前加abstract关键字
* 抽象方法语法: 修饰符 abstract 返回值类型 方法名(形参列表);
* 1.抽象方法的返回值前面有abstract关键字
* 2.抽象方法没有方法体
* 3.抽象方法的定义是一行单独的语句,,以分号结束。
* ===================================
* 4.一个类中如果定义了抽象方法,这个类一定是抽象类
* 5.抽象方法必须在抽象类中,但是抽象类中可以没有抽象方法
* 6.抽象类不能自己创建自己的对象,使用new创建抽象类对象将产生错误
* 7.子类继承抽象类的时候,应该覆盖抽象类中的所有方法,否则子类也必须定义为抽象类
*
*问题:定义一个类,使得其包含计算面积的方法,定义表示三角形的类Triangle和
*表示矩形的类Rectangle,分别继承上述的抽象类。
*/
public abstract class AbstractClassedDemo {
double width;
double height;
public AbstractClassedDemo(double w,double h) {
this.width=w;
this.height=h;
}
public abstract double getAera();
}
2.以矩形、三角形等为例分析抽象类
package com.neusoft.abstracted;
public class Rectangle extends AbstractClassedDemo{
public Rectangle(double w, double h) {
super(w, h);
}
@Override
public double getAera() {
return width*height;
}
}
Rectangle矩形类
3.三角形
package com.neusoft.abstracted;
public class Trangle extends AbstractClassedDemo {
public Trangle(double w, double h) {
super(w, h);
}
@Override
public double getAera() {
// TODO Auto-generated method stub
return width*height/2;
}
}
Trangle
4.测试代码
package com.neusoft.abstracted;
public class TestAbstract {
public static void main(String[] args) {
Trangle trangle = new Trangle(4, 6);
Rectangle rectangle = new Rectangle(4, 6);
System.out.println("三角形"+trangle.getAera());
System.out.println("四边形"+rectangle.getAera());
}
}
TestAbstract
5.结果分析:

JAVA补充-抽象类的更多相关文章
- JAVA:抽象类VS接口
JAVA中抽象类和接口的区别比较,以及它们各自的用途. 1.JAVA抽象类: 抽象类除了不能实例化以外,跟普通类没有任何区别.在<JAVA编程思想>一书中,将抽象类定义为“包含抽象方法的类 ...
- 转:二十一、详细解析Java中抽象类和接口的区别
转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...
- 关于JAVA中抽象类和接口的区别辨析
今天主要整理一下新学习的有关于Java中抽象类和接口的相关知识和个人理解. 1 抽象类 用来描述事物的一般状态和行为,然后在其子类中去实现这些状态和行为.也就是说,抽象类中的方法,需要在子类中进行重写 ...
- [ Java学习基础 ] Java的抽象类与接口
一.抽象类 1. 抽象类 Java语言提供了两种类:一种是具体类:另一种是抽象子类. 2. 抽象类概念: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的 ...
- java中抽象类的定义和使用
java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础. 指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类 ...
- Java基础-抽象类和接口
抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 抽象定义: 抽象 ...
- JAVA的抽象类和接口
抽象类 在面向对象的概念中,所有的对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描述对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不能实例化对 ...
- Java中抽象类也能实例化
在Java中抽象类真的不能实例化么? 在学习的过程中,发现了一个问题,抽象类在没有实现所有的抽象方法前是不可以通过new来构建该对象的,但是抽象方法却是可以有自己的构造方法的.这样就把我搞糊涂了,既然 ...
- Java中抽象类也能实例化.RP
在Java中抽象类真的不能实例化么? 在学习的过程中,发现了一个问题,抽象类在没有实现所有的抽象方法前是不可以通过new来构建该对象的,但是抽象方法却是可以有自己的构造方法的.这样就把我搞糊涂了,既然 ...
随机推荐
- 接口请求json解析问题
今天同事问请求公司内部接口返回的json无法用json_decode解析,然后我让他把请求结果写入文件,然后文件发给我试试. 在打开这个文件之后我发现第一句话是 这是很令人奇怪的,为什么会出现一个双引 ...
- win10禁止更新的方法
Windows10强制更新苦恼了很多人,下面提供三种禁止Windows10更新的方法. 禁止Windows update服务 启动任务管理器->选择服务->打开服务. 找到Windows ...
- Python easyGUI 文件浏览 显示文件内容
#提供一个文件浏览夹.让用户选择需要打开的文件,打开并显示文件内容: import easygui as g import os msg='浏览文件并打开' title='测试' default='D ...
- 【代码审计】iZhanCMS_v2.1 后台存在多个SQL注入漏洞分析
0x00 环境准备 iZhanCMS官网:http://www.izhancms.com 网站源码版本:爱站CMS(zend6.0) V2.1 程序源码下载:http://www.izhancms ...
- Explaining Delegates in C# - Part 1 (Callback and Multicast delegates)
I hear a lot of confusion around Delegates in C#, and today I am going to give it shot of explaining ...
- Redis 操作字符串数据
Redis 操作字符串数据: > set name "Tom" // set 用于添加 key/value 数据,如果 key 存在则覆盖 OK > setnx nam ...
- psutil的使用
psutil是Python中广泛使用的开源项目,其提供了非常多的便利函数来获取操作系统的信息. 此外,还提供了许多命令行工具提供的功能,如ps,top,kill.free,iostat,iotop,p ...
- transformClassesWithJarMergingForDebug
Error:Execution failed for task ':app:transformClassesWithJarMergingForDebug'.> com.android.build ...
- myeclipse使用小技巧
1 如何关掉maven自动更新,去掉前面的勾 2 myeclipse中如何设置不校验js
- EGit 在使用时出现 git-upload-pack not found 的错误
在 Ubuntu 上使用Eclipse 的插件 EGit 从 GitHub 上下载资源时出现 git-upload-pack not found 的错误,如图 (另,EGit 在 Windows 上的 ...