JAVA 学习笔记——抽象类

这篇具有很好参考价值的文章主要介绍了JAVA 学习笔记——抽象类。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 JAVA 学习笔记——抽象类,JAVA,JAVA学习笔记,java,类,抽象类,继承类

概念:

当定义一个类时,常常需要定义一些成员方法来描述类的行为特征,但有时这些方法的实现方式是无法确定的。

例如,前面在定义 Animal 类时,walk()方法用于描述动物的行走行为,但是针对不同的动物,其行走行为是不同的,因此在 walk()方法中无法准确描述动物的行走行为。

针对上面描述的情况,Java 提供了抽象方法。

格式:

抽象方法是使用 abstract 关键字修饰的成员方法,其在定义时只给出方法名,不需要实现方法体。抽象方法的定义格式如下:

abstract void 方法名称(参数);

当一个类包含了抽象方法,该类必须是抽象类。抽象类和抽象方法一样,必须使用abstract 关键字进行修饰。抽象类的定义格式如下:

abstract class 抽象类名称 {

  访问权限 返回值类型 方法名称(参数){      //普通方法,有方法体的实现
   return[返回值]; 
   }

   访问权限 abstract 返回值类型 抽象方法名称(参数);//抽象方法,无方法体的实现

}

抽象类规则:

  1. 包含一个以上抽象方法的类必须是抽象类
  2. 抽象类和抽象方法都需要使用abstract 关键字 
  3. 抽象方法只需要声明而不需要实现
  4. 如果一个类继承了抽象类,那么该子类必须实现抽象类中的全部抽象方法

实例:

  • 创建一个“shape”抽象类,该抽象类包含表示形状的string类型的成员变量namey,和两个抽象方法,分别为求形状周长的抽象方法perimeter0,求形状面积的抽象方法area()
  • 创建两个类,一个为正方形类“Square”,正方形类有一各成员变量:doublelength,一个为圆类Cirde”,圆类有一各成员变量:double radius,要求继承上面的抽象类“shape”,并实现“shape”中的两个抽象方法 
package 类;

abstract class shape {
	String name;
	abstract void perimater();
	abstract void area();


	public static void main (String[]args) {
		Square s = new Square();
		s.length = 1;
		s.perimater();
		s.area();
		Circle x = new Circle();
		x.radius = 1;
		x.perimater();
		x.area();
	}
}

class Square extends shape{
	double length;
	void perimater() {
		System.out.println(""+4*length);
	}
	void area() {
		System.out.println(""+length*length);		
	}
}

class Circle extends shape{
	double radius;

	void perimater() {
		System.out.println(""+3.14*2*radius);
	}

	void area() {
		System.out.println(""+3.14*radius*radius);
	}
	
}

代码分析:

JAVA 学习笔记——抽象类,JAVA,JAVA学习笔记,java,类,抽象类,继承类 


JAVA 学习笔记——抽象类,JAVA,JAVA学习笔记,java,类,抽象类,继承类 文章来源地址https://www.toymoban.com/news/detail-725782.html

到了这里,关于JAVA 学习笔记——抽象类的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 从零开始学习 Java:简单易懂的入门指南之抽象类&接口&内部类(十一)

    1.1.1 抽象类引入 ​ 父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎

    2024年02月13日
    浏览(38)
  • 新年快乐!学习Java第84天,Maven工程继承和聚合关系

    1. Maven工程继承关系 继承概念 Maven 继承是指在 Maven 的项目中,让一个项目从另一个项目中继承配置信息的机制。继承可以让我们在多个项目中共享同一配置信息,简化项目的管理和维护工作。 继承作用 在父工程中统一管理项目中的依赖信息。 它的背景是: 对一个比较大型

    2024年02月03日
    浏览(38)
  • 01 java 学习 数据类型、基础语法、封装、继承、多态、接口、泛型、异常等

    目录 环境搭建和基础知识  什么是JRE: 什么是JDK: 基础数据类型  分支选择if else switch和c一毛一样 for和while循环还有数组基本和c一样 封装 函数调用、传参、命名规范、数组新命名规范 java输入Scanner scanner = new Scanner(System.in); 类的创建和使用以及封装修饰符  构造方法:含义、

    2024年02月11日
    浏览(42)
  • 02 面向对象( 继承,抽象类)

    强调:一定用自己的话总结,避免抄文档,否则视为作业未完成。 this的作用 为了解决成员变量和局部变量所存在的二义性,适用于有参构造时使用 示例 为成员变量设置值, 构造器和setter方法的选择,为什么? 构造器:在知道具体的参数的时候可以使用,可以创建对象并做

    2024年02月06日
    浏览(50)
  • C++ 面向对象核心(继承、权限、多态、抽象类)

    继承(Inheritance)是面向对象编程中的一个重要概念,它允许一个类(称为派生类或子类)从另一个类(称为基类或父类)继承属性和方法。继承是实现类之间的关系,通过继承,子类可以重用父类的代码,并且可以在此基础上添加新的功能或修改已有的功能。 在C++中,继承

    2024年02月08日
    浏览(49)
  • 继承(个人学习笔记黑马学习)

    继承方式一共有三种: 公共继承 保护继承 私有继承 菱形继承概念 : 两个派生类继承同一个基类 又有某个类同时继承者两个派生类 这种继承被称为菱形继承,或者钻石继承

    2024年02月09日
    浏览(46)
  • 嵌入式开发中的抽象、封装与继承

    ## 1 何从实现? OOP 是 CPP 的显著特征,尽管它是一种多重范式的语言 第一部分谈的是产品的实现(implement)而非产品的设计,因为对于个人开发者而言,往往是知道如何实现产品,而后才着手做整体设计的。这并不是说实现高于设计,而是承认此类开发者的首要驱动力通常不

    2024年02月12日
    浏览(41)
  • [Lua] 如何模拟单继承OO、实现抽象工厂

    Lua 没有严格的 oo(Object-Oriented)定义,可以利用元表特性来实现 先定义所有类的基类,即 Object 类。代码顺序从上到下,自成一体。完整代码 定义一个空表 Object , __index 指向其自身(继承将直接使用该表作为对象的元表) new 定义构造对象时的初始化行为,相当于 构造器

    2024年02月11日
    浏览(77)
  • Java 抽象类详细讲解

    目录 Java抽象类概念 Java抽象类示例 继承Animal类的子类的示例 Java抽象类详细使用方法 1、定义抽象类 2、继承抽象类 3、实现抽象方法 4、完整示例代码 Java中抽象类是指用abstract修饰的类,它不能被实例化,只能被继承。抽象类通常用于定义一些公共的方法和属性,但是

    2023年04月18日
    浏览(37)
  • JAVA抽象

    2024年02月13日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包