Java中的abstract详解

keil自动分配SDRAM空间设置使用 1.修改.sct文件。 阅读详情

Java中的abstract详解

abstract关键字只能用于修饰类和方法。用来表明所定义的类或方法时未实现的。

abstract定义

abstract class Person {//抽象类
	
	public abstract String getDescription();//抽象方法
	
}

注意:
包含一个或多个抽象方法的类本身必须被声明为抽象的。
类即使不含抽象方法,也可以声明为抽象类。
抽象类不能被实例化。
抽象类可以包含具体的数据和具体的方法。

abstract class Person {//抽象类
	
	private int id = 10;//抽象类可以包含具体的数据
	
	public abstract String getDescription();//抽象方法
	
	public int getId(){//抽象类可以包含具体的方法
		return id;
	}
}

但是建议将通用的域和方法(不论是否是抽象的)放在超类中。

public class Main {
	
	public static void main(String[] args){
		
		Person my;
		Person mine = new Person();//error 抽象类不能被实例化
	}
}

总结:


抽象方法充当占位的作用,它们的具体实现在子类中。
扩展抽象类有两种方法:
一是在子类中定义部分抽象方法或抽象方法也不定义,这样的子类必须也定义为抽象类
二是在子类中定义全部的抽象方法,这样的子类不必是抽象的。

简单示例:


/**
 * 抽象类
 * @author wangcan
 *
 */
abstract class Person {//抽象类
	
	private String name;
	
	public Person(String name) {
		this.name = name;
	}

	public abstract String getDescription();//抽象方法
	
	public String getName(){
		return name;
	}
}
class Student extends Person{
	
	private String school;
	
	public Student(String name,String school) {
		super(name);
		this.school = school;
	}
	@Override
	public String getDescription() {
		return "a student "+super.getName()+" study in" + school;
	}
}

public class Main {
	
	public static void main(String[] args){
		Person[] people = new Person[2];
		people[0] = new Student("小强","优快云");
		people[1] = new Student("小明", "CUMT");
		for(Person p:people){
			System.out.println(p.getDescription());
		}
	}
}





ESP32+MAX7219二进制时钟设计与嵌入式时间映射实践 二进制时钟是嵌入式系统中数据表示与物理呈现深度耦合的典型范例,其核心在于将时间语义(年月日时分秒)解构为比特位,并通过LED点阵的空间权重布局实现直观识别。该设计依托RTC模块提供时间基准,依赖SPI协议完成微控制器与专用驱动芯片(如MAX7219)的可靠通信,涉及寄存器级配置、位图坐标变换、软硬件时序对齐等关键原理。技术价值体现在低资源占用下的高可读性人机交互,适用于教学演示、极客项目及嵌入式UI原型开发。本文聚焦ESP32平台在MicroPython环境下,结合MAX7219驱动8×8点阵实现高可靠性二 阅读详情

相关推荐

Keysight ADS新手必看:3分钟搞定TDR模拟的保姆级教程(附差分信号设置技巧)

本文为Keysight ADS新手提供TDR模拟的保姆级教程,详细介绍了从基础环境准备到差分信号设置的全流程。通过内置模板调用、待测器件连接和仿真结果解读,帮助用户快速掌握TDR模拟技术,特别包含差分信号配置技巧,提升信号完整性分析效率。

weixin_30872157的博客 195

17.Java 抽象类

Java抽象类 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。 由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。 也是因为这个原因,通常在设计阶段决定要不要设...

尘迦子的博客 482

STM32控制舵机SG-5010转动,HAL库

首先设置时钟为72Mhz,预分频系数为72-1,自动重装载计数器的值为5000-1,这样的话就可以得到一个5ms的脉冲宽度,5000的计数值可以让舵机的旋转角度变得更加易控且相对精准,计算旋转角度的时候也可以更加精确。所以我们5ms脉宽,period是5000脉宽-------------角度----------pulse0.5ms-------------0度----------500;1.0ms------------45度---------1000;

qq_73783264的博客 1292

Java中的abstract方法和abstract类的问题

当知道一个类的子类将不同的实现某个方法时,把该类声明为抽象类很有用,可以共用相同的父类方法,不必再定义。 抽象类和抽象方法的关系:含有抽象方法的类一定是抽象类,抽象类里不一定含有抽象方法。 抽象类存在的意义是用来被继承的。一个类继承了一个抽象类,必须实现抽象类里面所有的抽象方法,否则,此类也是抽象类。 abstract修饰符用来修饰类和成员方法 1:用abstract修饰的类表示抽象类,抽象

进击的小黑哥 3万+

深入了解torch框架

大国的游戏,政府支持到位,是未来;AI : Artificial Intelligence,旨在研究、开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统,是一种拥有自主学习和推理能力的技术。它模仿人类大脑某些功能,包括感知、学习、理解、决策和问题解决。AI本质​ NLP(说话,听)、CV(眼睛)、自动驾驶、机器人(肢体动作)、大模型三要素:数据、网络、算力① 神经网络:找到合适的数学公式;② 训练:用已有数据训练网络,目标是求最优解;③ 推理:用模型预测新样本;PyTorch,简称Torch

qq_74732076的博客 1135

疑难问题(二)——PyTorch 2.3.0 ‘import torch‘ 错误排查:深入解析‘shm.dll‘加载失败与系统路径修复

本文深入解析了在Windows系统上安装PyTorch 2.3.0后,执行'import torch'时遇到的'shm.dll'加载失败错误(OSError)。该问题通常源于系统DLL搜索路径缺失,导致无法找到关键的共享内存通信组件或其依赖项。文章提供了核心解决方案:通过手动修改PyTorch的`__init__.py`文件,将用户基目录下的Library\bin路径添加到DLL搜索列表中,从而从根本上修复此导入错误,并给出了详细的修改步骤和验证方法。

weixin_29056865的博客 305

Java中 关键字abstract(抽像)的定义

abstract修饰方法(抽象方法)

2301_76230288的博客 1947

YOLO11涨点优化:原创自研 | 魔改Bottleneck,具备多尺度和特征通道融合的结构

可以将C3k2_MSAMCS放在neck,或者backbone和neck同时修改,具体看自己数据集的涨点情况决定

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1649

Java设计模式

1.设计模式简介 1.1定义 设计模式是从许多优秀的软件系统中总结出成功的可复用的设计方案 1.2基本要素 名称 问题 方案 效果 2.面向对象的几个基本原则 2.1面向抽象原则 设计一个类时,不让该类面向具体的类,而是面向抽象类或接口 2.1.1抽象类 抽象类中可以有abstract方法,也可以有非abstract方法。 抽象类不能用new运算符创建对象。 如果一个非抽象类是某个抽象类的子类,那么它必须重写父类的abstract方法。 作为上转型对象。让抽象类声明的对象成为其.

weixin_53280964的博客 837

【连接器专题】 EIA-364 系列标准的完整列表

EIA-364 系列标准在电子工业中具有重要的地位,为电子连接器和互连系统的测试和验证提供了统一的、可操作的流程和方法,有助于提高电子产品的质量和可靠性,促进了电子工业的发展

一点硬件 2656

Android 系统低内存lowmemorykiller关于阈值修改 minfreeAbsKbytes优化

在系统rom定制化开发中,在对于运行内存ram 1G和2G的设备中,对于内存使用高峰期时,minfreeAbsKbytes优化很关键 调整合理的minfree,让内存合理的使用很关键,接下来分析相关功能的实现

安卓兼职framework和app工程师的博客 524

解析java中的abstract关键字

本文详细解析了java中的abstract关键字

SSS4362的博客 9003

100天精通Oracle-实战系列(第33天)RHEL 7 安装 Oracle 12CR2 RAC 数据库

100天精通Oracle-实战系列(第33天)RHEL 7 安装 Oracle 12CR2 RAC 数据库

LuciferLiu_DBA 3451

java abstract final_Java修饰符 abstract,static,final 的区别详解

static 表示静态,它可以修饰属性,方法和代码块。1.static修饰属性(类变量),那么这个属性就可以用类名.属性名来访问,也就是使这个属性成为本类的类变量,为本类对象所共有。这个属性就是全类公有。(共有的类变量与对象无关,只和类有关)。类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件(字节码文件)读入JVM(java虚拟机),这个过程成为...

weixin_42318712的博客 130

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java abstract 变量_Java中abstract关键字详解

abstract只能修饰类(class) 和 方法。而不能修饰成员变量。这是由于抽象的概念确定的。只有类和方法可以抽象出来,而成员变量不需要抽象。abstract修饰类abstract之所以出现,是因为面向对象的思想所趋。在面向对象的思想中,不同的类之间可能具有高度相似的成员变量以及个别的方法。那么为了避免重复代码。我们需要将各个类之间高度统一的成员变量和方法抽象出来封装为一个抽象父类。它提供子类...

weixin_36469638的博客 1422

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

java中abstract详解

Abstract(抽象)可以修饰类、方法  如果将一个类设置为abstract,则此类必须被继承使用。此类不可生成对象,必须被继承使用。 Abstract可以将子类的共性最大限度的抽取出来,放在父类中,以提高程序的简洁性。 Abstract虽然不能生成对象,但是可以声明,作为编译时类型,但不能作为运行时类型。 Final和abstract永远不会同时出现。   当abstrac

_happyzhang的专栏 1272

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

abstract在java,Java中abstract详解

今天来介绍一下抽象类。我们用动物类来看,上代码:1234567891011121314151617public class Animal {String name;public Animal() {// TODO Auto-generated constructor stub}public void sleep() {System.out.println("闭上眼睛就睡觉");}public vo...

weixin_42512966的博客 414

Java中abstract的基本使用与详解

先来看一道题: 下列哪一种叙述是正确的 A:abstract修饰符可修饰字段、方法和类 B:抽象方法的body部分必须用一对大括号{ }包住 C:声明抽象方法,大括号可有可无 D:声明抽象方法不可写出大括号 解析:D java中规定:abstract只能修饰类和方法,不能修饰变量。 1、什么是抽象类? 类和类之间如果具有相同的特征,将这些共同的特征提取出来,形成的就是抽象类。 类本身是不存在的,所以抽象类无法实例化对象。 类到对象是实例化,对象到类是抽象。 public class Test { p

weixin_42072632的博客 2万+

java abstract 变量_Java基础知识详解:abstract修饰符

abstract详解abstract一般用来修饰类和方法。1.abstract修饰类abstract修饰类,会使得类变成抽象类,抽象类不能生成实例,但是可以作为对象变量声明的类型,也就是编译时类型。抽象类相当于类的半成品,需要子类继承并覆盖其中的方法。注意:抽象类虽然不能实例化,但是有自己的构造方法。抽象类和接口(interface)有很大的不同之处,接口中不能有实例方法去实现业务逻辑,而抽象类可...

weixin_42298922的博客 2344

Java 关键字abstract详解

abstract 关键字可以修饰类或方法。 abstract 类可以扩展(增加子类),但不能直接实例化。 abstract 方法不在声明它的类中实现,但必须在某个子类中重写。 示例 public abstract class MyClass { } public abstract String myMethod(); 注释 采用 abstract ...

luotuoass 141

【Java基础】详解abstract关键字

目录 abstract关键字 修饰范围: 作用: 修饰类: 修饰方法: 抽象类和抽象方法的关系 abstract与final、static、private、native的关系 final和abstract不能修饰同一个对象或类 static和abstract不能修饰同一个对象或类 private和abstract不能同时修饰一个对象或类 native和abstract不能修饰同一个对象或...

Elephant_King的博客 763

java -abstract详解

如果一个类被设置成abstract类型,那么此类不能被实例化,只能在继承之后使用。abstract可以将子类的共性最大限度的抽取出来,放在父类中,以提高程序的简洁性.abstract虽然不能生成对象,但是可以声明,作为编译时类型,但不能作为运行时类型。当abstract用于修饰方法时,此时该方法为抽象方法,此时方法不需要实现,实现留给子类覆盖,子类覆盖该方法之后方法才能够生效。   fina

haya_w的博客 141
上一篇: Java中的static详解
下一篇: Java中final,finalize和finally的区别
cassiePython
博客等级 码龄12年 303粉丝 135原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值