
java基础--抽象方法
发布日期:2021-05-08 19:24:30
浏览次数:20
分类:精选文章
本文共 1329 字,大约阅读时间需要 4 分钟。
抽象方法
1. 概述
在面向对象编程中,抽象类是核心概念之一。它代表了一个类的框架或基架,具有一定的属性和方法,但这些属性和方法不具体实现。抽象类的作用在于为具体的子类提供共同的基础,确保子类可以继承并扩展抽象类的特性。
2. 没有抽象方法的抽象类有什么意义
抽象类的意义在于它体现了概念层面的东西,而不是具体的实现。假设我们有一个大类“东西”,它可能包含许多子类,比如“动物”、“车”和“房子”。我们可以提取出一个共同概念“生命体”,这个“生命体”可以成为一个基类,也就是抽象类。这个抽象类可能具备一些属性,如“吃东西”和“呼吸”,但不具备具体的实现,如“跑步”和“飞行”。
没有抽象方法的抽象类的作用
抽象类不能被实例化
抽象类不能用new操作符创建实例,因为它没有具体的实现。例如,抽象类Animal不能被new出来,但它的子类Dog和Cat可以。抽象类可以有构造方法,但构造方法不能是抽象方法
抽象类可以定义构造方法,但这个构造方法不能是抽象的。例如,抽象类Animal可以有一个protected的构造方法,子类可以通过调用父类的构造方法来实现。通过子类继承,可以调用抽象类的构造方法
子类可以访问和调用抽象类的构造方法,从而实现特定的初始化逻辑。例如,Dog类可以调用Animal类的构造方法,并在其基础上添加自己的初始化逻辑。6. 对final进行赋值
在Java中,final是一个关键字,用于修饰类、方法和变量。它的作用是确保代码的安全性和一致性。对于final变量,赋值必须在声明时完成,不能在运行时修改。这是Java中的一大特点。
final变量的赋值
final变量在声明时必须赋值,不能在运行时修改。例如:
public class FinalTest { public static final String FINAL_STRING = "这是一个final变量"; public static void main(String[] args) { System.out.println(FINAL_STRING); }}
final方法的赋值
final方法不能被子类覆盖,也不能被重写。这意味着一旦一个方法被声明为final,它的实现就无法被修改。这对于代码的安全性非常重要,因为它防止了方法的随意修改。
final类的赋值
final类不能被继承,除非它本身声明了一个protected的构造方法。例如:
public class FinalClass { public static final String FINAL_STRING = "这是一个final类"; public FinalClass() { System.out.println("这是一个final类的构造方法"); }}
总结
final是一个关键字,用于确保代码的安全性和一致性。在Java中,final变量和方法的赋值必须在声明时完成,final类不能被继承,除非它声明了一个protected的构造方法。理解final的使用可以帮助开发者更好地管理代码的安全性和一致性。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月29日 10时59分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android中定时执行任务的3种实现方法
2019-03-06
nodejs中npm常用命令
2019-03-06
基于Vue2.0+Vue-router构建一个简单的单页应用
2019-03-06
基于vue2.0实现仿百度前端分页效果(二)
2019-03-06
JS魔法堂:函数重载 之 获取变量的数据类型
2019-03-06
时间序列神器之争:Prophet VS LSTM
2019-03-06
SpringBoot中关于Mybatis使用的三个问题
2019-03-06
MapReduce实验
2019-03-06
Leaflet 带箭头轨迹以及沿轨迹带方向的动态marker
2019-03-06
java大数据最全课程学习笔记(1)--Hadoop简介和安装及伪分布式
2019-03-06
java大数据最全课程学习笔记(2)--Hadoop完全分布式运行模式
2019-03-06
大部分程序员还不知道的 Servelt3 异步请求,原来这么简单?
2019-03-06
[apue] popen/pclose 疑点解惑
2019-03-06
[apue] getopt 可能重排参数
2019-03-06
移动互联网恶意软件命名及分类
2019-03-06
adb shell am 的用法
2019-03-06
PySide图形界面开发(一)
2019-03-06
Android如果有一个任意写入的漏洞,如何将写权限转成执行权限
2019-03-06
三角网格体积计算
2019-03-06