Java中的抽象类
含有抽象方法的类,抽象方法即用abstract修饰的方法,即父类只知道其子类应该含有该方法,但无法知道子类如何实现这些方法
抽象类限制规定子类必须实现某些方法,但不关注实现细节
抽象类中可以包含普通方法(在Java中仍然为虚方法),也可以没有抽象方法
抽象类无法用于实例化对象,但可以定义引用变量,以用于指定子类对象
参考代码:
抽象类Shape
package com.hao.practice;
public abstract class Shape {
public abstract float perimeter();
public abstract float area();
}
子类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;
}
}
子类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;
}
}
Java中的抽象类的更多相关文章
- java中的抽象类和抽象方法
知识点:java中的抽象类和抽象方法 关键字abstract意为抽象的,可以用来修饰类和方法,分别称作抽象类和抽象方法 抽象类一般在多态的场景中使用 一:抽象类(abstract class) 在类的 ...
- Java学习笔记二十七:Java中的抽象类
Java中的抽象类 一:Java抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就 ...
- Java 中,抽象类与接口之间有什么不同?
Java 中,抽象类和接口有很多不同之处,但是最重要的一个是 Java 中限制一个 类只能继承一个类,但是可以实现多个接口.抽象类可以很好的定义一个家族类 的默认行为,而接口能更好的定义类型,有助于后 ...
- Java 中的抽象类及接口
抽象类使用 abstract 关键字修饰,该类即为抽象类. 抽象类的作用: 1.某些情况下,父类约束子类必须包含哪些方法,但不知道子类如何去实现这些方法. 2.可以从多个具有相同特征的类中抽象出一个抽 ...
- c#和Java中的抽象类
应用场景:当父类中的方法不知道如何去实现的时候,可以考虑将父类写成抽象类,将方法写成抽象方法. 比如:描述一个图形.圆形. 矩形三个类.不管哪种图形都会具备计算面积与周长的行为,但是每种图形计算的方式 ...
- Java中的抽象类详解,它存在的意义在哪里?
学习抽象类前先理解下面这段话: 问你个问题,你知道什么是"东西"吗?什么是"物体"吗? "麻烦你,小王.帮我把那个东西拿过来好吗" 在生活中 ...
- 论Java中的抽象类与接口
目录 抽象类和抽象方法 定义 与普通类的区别以及注意点: 抽象类的作用 接口 定义 示例 注意 作用 最后:接口与抽象类的异同 使用场景 借鉴 抽象类和抽象方法 定义 抽象方法和抽象类都必须被abst ...
- 详解Java中的抽象类和抽象方法
引言 如上图,二维图形类有三个子类,分别是正方形类,三角形类,圆形类: 我们都知道要求正方形的面积,直接使用面积公式边长的平方即可,同理三角形的是底乘高除以2,圆的面积是$\pi$乘以半径的平方.那么 ...
- 《Java中的抽象类及抽象类的作用》
//抽象类示例: abstract class Shape1 { { System.out.println("执行Shape的初始化块..."); } private String ...
随机推荐
- 高斯过程(gaussian process)
Definition 1. A Gaussian Process is a collection of random variables, any finite number of which hav ...
- Extjs4 -- Ext.loader命名空间的配置
初次使用extjs4的版本,在配置学习Ext.Loader()进行js文件的动态加载机制,由于各种原因导致多次失败,纠结2天,现将解决时出现的问题及需要注意事项进行记录 开发环境myeclipse8. ...
- 构造函数,const char*与c_str
/******************************************************************************* * 版权所有: * 模 块 名: * ...
- kmod编译找不到函数kmod_log
编译报错: /usr/bin/ld: Warning: gc-sections option ignored libkmod/.libs/libkmod-util.a(libkmod-util.o): ...
- 010-Scala单例对象、伴生对象实战详解
010-Scala单例对象.伴生对象实战详解 Scala单例对象详解 函数的最后一行是返回值 子项目 Scala伴生对象代码实战 object对象的私有成员可以直接被class伴生类访问,但是不可以被 ...
- C# FTP/SFTP文件传输控件FTP for .NET/.NET CF 详细介绍
FTP for .NET将FTP客户端功能添加到您的应用程序之中..NET控件的FTP支持所有常用的FTP服务器以及代理服务器,包括可扩展的目录解析.同步以及异步操作.主动与被动模式.以VB.NET与 ...
- Enterprise Architect 学习 之 用例图
用例模型 用例模型用来记录系统的需求,它提供系统与用户及其他参与者的一种通信手段. 执行者 用例图显示了系统和系统外实体之间的交互.这些实体被引用为执行者.执行者代表角色,可以包括:用户,外部硬件和其 ...
- JS第一天基础总结
今天开始学习javascript 主要讲理论上的东西,例如,什么是脚本语言,什么是变量,什么是DOM,什么是BOM等. 脚本语言,实质上可以理解为我们编写的剧本,浏览器按照我们编写的剧本一步一步完成剧 ...
- 从log中分析Android wif连接状态的方法
1.这里是从log中通过搜索关键字wpa_supplicant: wlan0: State过滤之后的log: Line 1: 11-25 20:10:14.968120 1104 1104 D w ...
- 【转】C#多线程示例
using System; using System.Threading; namespace ConsoleThread { class ThreadApp { static int interva ...