Java开发基础系列(一):Java设计概述

news2024/11/18 3:18:27
😊 @ 作者: 一恍过去
💖 @ 主页: https://blog.csdn.net/zhuocailing3390
🎊 @ 社区: Java技术栈交流
🎉 @ 主题: Java开发基础系列(一):Java设计概述
⏱️ @ 创作时间: 2023年07月09日

目录

  • 1、Java的11个特性
    • 1.1 简单性
    • 1.2 面向对象
    • 1.3 分布式
    • 1.4 健壮性
    • 1.5 安全性
    • 1.6 体系结构中立
    • 1.7 可移植性
    • 1.8 解释型
    • 1.9 高性能
    • 1.10 多线程
    • 1.11 动态性
  • 2、Java的3大特性
    • 2.1 封装
    • 2.2 继承
    • 2.3 多态

1、Java的11个特性

1.1 简单性

Java语音在设计时,接近与C++,同时也摒弃在C++中使用困难、使用率小、理解复杂的特性,以便可以更加简单的学习编程。除此外,Java以能够开发在小型机器上独立运行的软件为目标,以此也体现了简单性。

1.2 面向对象

面向对象是一种程序设计思想,将编程的重点放到对象上,而不是过程中。比如:一辆汽车从A地到B地,如果是面向过程则是关心A地到B地的过程(先到那再到那…),面向对象则关心对的是汽车的特征(大小、颜色、载客量等…)及行为(启动、加速、停止、上客、下客等…)

在这里插入图片描述

1.3 分布式

Java通过HTTP及FTP等TCP/IP协议,使得Java应用可以通过URL访问网络资源,是开发分布式应用的终端特性。

1.4 健壮性

通过编程时的早期检测、运行时后期的动态检测使得Java具有稳定性

1.5 安全性

Java构建了一个防病毒、防篡改的系统,比如:运行时堆栈溢出、破坏自身进程外的内存、未经授权读写文件、沙箱环境运行。

1.6 体系结构中立

Java编译器,通过生成与计算机系统无关的中立性文件格式(字节码文件),使得编译后的代码可以在多种不同的处理器上进行运行。

在这里插入图片描述

1.7 可移植性

Java的数据类型和数据处理方式不依赖于所在的运行系统,在编写应用程序时不用关心底层的操作系统,使得程序是可移植的,可以在不同的系统中进行运行。

1.8 解释型

Java中的解释器,在可以任何平台的机器上解析执行Java字节码文件。

1.9 高性能

在程序运行时,字节码可以动态的翻译成这个应用的特定CPU机器码。

1.10 多线程

Java支持多个线程同时运行,提高了程序的响应速度。

在这里插入图片描述

1.11 动态性

Java可以更好的适用不同的运行环境,可以自由的添加方法和实例变量。

2、Java的3大特性

Java的3大特性:封装、继承、多态

2.1 封装

就是将类(对象)的某些信息隐藏在类(对象)内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。

2.2 继承

就是子类拥有父类的所有属性和方法(除被final修改的数据),从而实现了实现代码的复用。

2.3 多态

就是父类引用指向子类对象,从而产生多种形态,即子类重写父类的方法实现自身特定的行为。
比如:父类对象(汽车)每次允许10人上车,子类对象可以对上车这个行为(方法)进行重写,修改为每次允许5人上车。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/734146.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【漏洞复现】nginxWebUI 存在前台远程命令执行漏洞

文章目录 前言声明一、nginxWebUI 简介二、漏洞描述三、影响版本四、漏洞复现五、修复建议 前言 nginxWebUI 存在前台远程命令执行漏洞,攻击者通过该漏洞获取服务器控制权限进而进一步获取敏感数据信息。 声明 请勿利用文章内的相关技术从事非法测试,由…

# 文盘Rust -- FFI 浅尝

作者: jiashiwen 原文来源: https://tidb.net/blog/cfa03c39 notice"Rust is a trademark of the Mozilla Foundation in the US and other countries." rust FFI 是rust与其他语言互调的桥梁,通过FFI rust 可以有效继承 C 语言…

道德与社会问题简报 #4: 文生图模型中的偏见

简而言之: 我们需要更好的方法来评估文生图模型中的偏见 介绍 文本到图像 (TTI) 生成 现在非常流行,成千上万的 TTI 模型被上传到 Hugging Face Hub。每种模态都可能受到不同来源的偏见影响,这就引出了一个问题: 我们如何发现这些模型中的偏见&#xff1…

Android启动流程优化 上篇

Android启动流程优化 上篇 本文链接:Android启动流程优化 上篇_猎羽的博客-CSDN博客 启动流程 各个阶段图 1、各个阶段的概括总结 分为5个大阶段或者10个小阶段 【字节跳动团队】内部论坛分享也是这么处理的 补充一些只是细节点: application#onCreate()运行…

基于多案例系统学习防洪评价报告编制方法与水流数学模型建模(HECRAS、MIKE、EFDC、Delft3D、FVCOM、SWAT、SWMM等模型应用)

目录 ​专题一 《防洪评价报告编制导则解读河道管理范围内建设项目编制导则》(SL/T808- 2021)解读编制导则解读 专题二 防洪评价相关制度与解析 ★专题三 案例演练解析 专题四 防洪评价地形获取及常用计算实践 专题五 HEC-RAS软件原理及应用案例解析…

leetcode160.相交链表

https://leetcode.cn/problems/intersection-of-two-linked-lists/solution/ 相交链表是指两个单向链表在某个节点处相交,之后形成了共同的后续部分。通常,两个链表的长度不相等。在相交节点之前,两个链表的节点数可能不同,但在相…

Java后端编译与优化

如果我们将字节码看作是程序语言的一种中间表示形式,那编译器无论在何时、在何种状态下把Class文件转换成与本地基础设施相关的二进制机器码,它都可以视为整个编译过程的后端。 1 即时编译器 即时编译器是指运行时将热点代码编译成本地机器码&#xff…

程序员必须掌握哪些算法?——前端开发工程师需要掌握的算法

文章目录 📋前言🎯什么是算法?🎯前端开发工程师需要掌握的算法🧩排序算法(如快速排序、归并排序)🧩搜索算法(如二分搜索)🧩图算法(如广…

【Unity造轮子】2D横版平台跳跃游戏实现多段跳完美手感(含源码)

文章目录 前言先看效果,手感很丝滑原理开始1. 看到检测点的检测范围2. 二段跳实现3. 动画控制器配置 源码扩展完结 前言 随着游戏技术的不断发展,2D横版平台跳跃游戏成为许多玩家的最爱。这类游戏以其简单而有趣的玩法和精致的视觉效果吸引着无数游戏爱…

Kotlin~Decorator装饰器模式

概念 装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。可以运行时动态添加新的功能,而无需改变原来的代码。 特点: 灵活扩展新的功能动态…

接口设计的总结

目录 前言 设计好接口的 36 个锦囊 总结 前言 作为后端开发,不管是什么语言,Java、Go 还是 C,其背后的后端思想都是类似的。我们做后端开发工程师,主要工作就是:如何把一个接口设计好。所以,今天就给大家…

北京大学考研机试题:二叉树

【题目来源】https://www.acwing.com/problem/content/description/3474/【题目描述】 如上图所示,由正整数 1,2,3…… 组成了一颗特殊二叉树。 我们已知这个二叉树的最后一个结点是 n。 现在的问题是,结点 m 所在的子树中一共包括…

MobileNeRF在Windows上的配置

MobileNeRF于2023年提出,源码地址:https://github.com/google-research/jax3d/tree/main/jax3d/projects/mobilenerf ,论文为:《MobileNeRF: Exploiting the Polygon Rasterization Pipeline for Efficient Neural Field Renderin…

QT自定义工具条渐变背景颜色一例

使用样式定义: QWidget* toolbar new QWidget(this);toolbar->setObjectName("main_tool");toolbar->setStyleSheet("#main_tool{background: qlineargradient(x1:0 , y1:0 , x2:1 , y2:0,""stop:0 rgba(0,255,0, 0.2),"&q…

Nuxt3 components公共组件

1.目录结构 效果实现:写一个公共的right组件,在index和about页面同时引用它 2.index页面引入 index页面显示效果 about页面引用及效果

组件的自定义事件

src/components/School.vue <template><div class"school"><h2>学校名称&#xff1a;{{ name}}</h2><h2>学校地址&#xff1a;{{ address }}</h2><button click"sendSchoolName">把学校名给App</button>…

数据集成的强大联盟:Elasticsearch、Kibana、Logstash、MySQL

通常&#xff0c;很多关系数据项目都使用 MySQL。 它对于标准的 CRUD 操作是有益的&#xff0c;但有时我们需要做额外的过程。 当我们搜索某些内容时&#xff0c;我们会消耗资源或合并多个表。 有时&#xff0c;即使不是&#xff0c;可能仍然需要复杂的 SQL 查询。 也许这不是正…

如何查看OpenAI的AccessToken?

如何查看OpenAI的AccessToken&#xff1f; 记录一下如何查看 OpenAI的 AccessToken 文章目录 如何查看OpenAI的AccessToken&#xff1f;前提具体操作总结 前提 &#x1f4a7;首先&#xff0c;在获取AccessToken前&#xff0c;你需要达成 以下两个条件: 拥有一个可用的OpenA…

ARM CORETEX M0简介

ARM CORETEX M0简介 1. M0处理器简单框图 处理器内核&#xff1a;逻辑控制与运算 内部总线系统&#xff1a;单总线将处理器与外部的存储器和外部连接&#xff0c;进行数据交互&#xff08;冯诺依曼架构&#xff0c;数据与指令一起&#xff09; NVIC&#xff1a;嵌套向量中断控…

【Matlab】智能优化算法_亨利气体溶解度优化算法HGSO

【Matlab】智能优化算法_亨利气体溶解度优化算法HGSO 1.背景介绍2.数学模型2.1 亨利定律2.2 HGSO 3.文件结构4.伪代码5.详细代码及注释5.1 Create_Groups.m5.2 Evaluate.m5.3 fun_checkpoisions.m5.4 fun_getDefaultOptions.m5.5 HGSO.m5.6 main.m5.7 sumsqu.m5.8 update_posit…