Java学习之路002——面向对象编程

news2024/11/24 2:10:36

【说明】部分内容来源于网络,如有冲突,请联系作者删除。

一、面向对象编程(OOP)

2.1 对象和类的关系

2.2 面向对象的特征

2.2.1 封装

2.2.2 继承

2.2.3 多态

3、抽象

  • 使用abstract关键字修饰的类或者方法

  • 定义抽象类(使用abstract)

// 1、定义抽象方法的类必须是抽象类
// 2、抽象类是不能被实例化的。
abstract class UFO {
    private String sharp; // 飞碟形装
    private String color; // 颜色
    
    public abstract void fly(); // 代表该方法只能给子类实现(abstract标记)
    public abstract void driven(); // UFO是什么驱动的方法
}

3.1 案例演示

【1】新增一个空项目。空项目不勾选 “添加示例代码”

【2】创建UFO类

【3】编写以上的UFO类的代码和属性、以及抽象方法。

【4】快捷实现getter和setter:鼠标放到指定的属性名称上面,按住 alt + insert

【5】会弹出提示快速生成的代码,选择Getter和Setter

【6】如果方法是抽象的,类不是抽象的,则会报异常

【7】再定义一个普通的方法,用来比较

【8】新建一个类,例如MyUFO,继承自 UFO。由于抽象方法需要重写,所以不重写会报错。

【9】点击左边灯泡,根据提示自动生成重写的方法。其中,@override代表方法是重写的方法。在重写的方法里面搞两个输出。

【10】新建一个抽象类,如果抽象类继承自抽象类,则不需要重写抽象方法。

【11】新建一个运行的类,然后走一下。

 

4、接口

4.1 直接上代码进行演示

【1】新建一个包,任意命名,此处叫 interfaces

【2】新建一个测试接口:ITest,提供若干个接口方法。其中,接口的方法,都是公开、抽象的。所以public和abstract可以省略不写。

【3】新建一个实现类,实现了通过implements来关联要实现的接口。由于是抽象方法,所以实现类里面需要重写。重写标记 @override 可写可不写。接口必须全部被重写。

【4】在JDK8以及以上版本环境,接口里面允许有具体的方法,但是前面必须使用default 关键字。

【5】新增一个启动类,用于测试以上效果,如图。

【6】接口和接口之间也可以继承

一般语法: 具体类extends 抽象类 implements 接口1,接口2,接口3……

五、 常见的快捷键

sout + enter // 生成快捷输出语句
变量/常量/字面值.sout // 直接生成输出变量,常量,字面值的语句
变量.var // 自动补全变量名称和对应类型
psvm // 生成main方法
数组/集合.for // 生成foreach循环语句
数组/集合.fori // 生成for循环语句
字面值[数字].fori // 生成for循环语句
对象.cast // 生成强转语句
变量/表达式.return // 生成return语句
表达式.if // 生成if条件语句

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

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

相关文章

计数排序.

1.动图演示: 2.代码示例: package test1;import java.util.Arrays;public class Test3 {public static void main(String[] args) {int[] nums new int[]{1, 2, 1, 4, 52, 1, 4};int[] arr count_sort(nums, getMax(nums));for (int i : arr) {System…

spring boot 配合element ui vue实现表格的批量删除(前后端详细教学,简单易懂,有手就行)

目录 一.前言: 二. 前端代码: 2.1.element ui组件代码 2.2删除按钮 2.3.data 2.4.methods 三.后端代码: 一.前言: 研究了其他人的博客,找到了一篇有含金量的,进行了部分改写实现前后端分离&#xff0…

【Python实战】爬虫教程千千万,一到实战全完蛋?今天手把手教你一键采集某网站图书信息数据啦~排名第一的竟是...(爬虫+数据可视化)

前言 ​一本本书,是一扇扇窗,为追求知识的人打开认知世界的窗口 一本本书,是一双双翅膀,让追求理想的人张开翅膀翱翔 所有文章完整的素材源码都在👇👇 粉丝白嫖源码福利,请移步至CSDN社区或文末…

机器学习的特征归一化Normalization

为什么需要做归一化? 为了消除数据特征之间的量纲影响,就需要对特征进行归一化处理,使得不同指标之间具有可比性。对特征归一化可以将所有特征都统一到一个大致相同的数值区间内。 为了后⾯数据处理的⽅便,归⼀化可以避免⼀些不…

Pycharm和跳板机 连接内网服务器

Pycharm和跳板机 连接内网服务器 建立配置文件 本地配置 .ssh 文件夹下配置 config 文件 Host jumpHostName xxxPort 22User xxxServerAliveInterval 30IdentityFile C:\Users\15284\.ssh\id_rsa # 通过密钥连接Host server # 同样,任意名字,随…

vxe自定义表头设置+前端本地数据存储

业务要求 支持拖动排序,按现有内容排序支持显示/隐藏,默认全部显示列表增加顶部格线,用户可以自己调整列宽设置内容仅对该账号有效,前端存储 最终实现的效果图 哪些改动 静态表格改动态表格 table > grid vxe-grid 高级表格…

一文深度解读音视频行业技术发展历程

从1948年的香农定律,到音视频的今天。IMMENSE、36氪|作者 北京时间2月28日凌晨,FIFA年度颁奖典礼在巴黎举行。梅西荣膺年度最佳球员,斯卡洛尼当选年度最佳男足主帅,马丁内斯荣获年度最佳男足门将!阿根廷因…

自动售卖机的类型和工作流程分析

线上经济的崛起提高了人们的生活品质,促进了我国市场经济的发展。随着互联网的快速发展,线上经济资源已经饱和,线上和线下资源整合已经成为市场经济发展的方向,而自动售卖机正是线上和线下经济发展的连接纽带。 自动售卖机作为无人…

3.查找算法:顺序查找和二分查找

查找查找,是指在一些数据元素中,通过一定的方法找出与给定关键字相同的数据元素的过程。列表查找(线性表查找):从列表中查找指定元素输入:列表,待查找元素输出:元素下标(…

多线程 随便起的

进程:进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构如果想让-一个进程访问另一个进程的资源,需要使用进程间通信,比如管道&#xff…

LAMP项目部署实战1

一、说明: LAMP:Linux Apache MySQL PHP Apache: Apache是世界使用排名第一的Web服务器软件。主要用于接收用户的请求,处理业务逻辑,返回结果给客户端(浏览器)。 PHP:一种专门…

SQL 层功能改进 - lookupJoin 的优化

一、传统 join 算法lookupJoin 是 join 查询的一种,传统 join 算法为:1. 遍历 A 表,读取一条数据 r2. 遍历 B 表,对于每条数据,与 r 进行 join 操作3. 重复 1、2 操作,直到 A 表遍历完所有数据二、lookupJo…

在 WIndows 下安装 Apache Tinkerpop (Gremlin)

一、安装 JDK 首先安装 Java JDK,这个去官网下载即可,我下载安装的 JDK19(jdk-19_windows-x64_bin.msi),细节不赘述。 二、去 Tinkerpop 网站下载 Gremlin 网址:https://tinkerpop.apache.org/ 点击下面…

用cpolar发布本地的论坛网站 1

网页论坛向来是个很神奇的地方,曾经的天涯论坛和各种BBS,大家聚在在一起讨论某个问题,也能通过论坛发布想法,各种思维碰撞在一起,发生很多有趣的故事,也产生了很多流传一时的流行语录。当然,如果…

推荐5款免费无广告的精品软件

检查一下你最近安装的软件,他们是不是都一样无法避免最终被你打入冷宫的命运?我们明明很懂“在精不在多”的道理,却依然让我们的电脑塞满了形形色色无用的软件。你需要知道的是,如何找到一款适合自己且真正实用的电脑软件。 1.多…

元宇宙营业厅,数字技术融合,赋能实体经济

在我国数字经济与虚拟服务市场规模扩大下,元宇宙营业厅强势来袭,从多场景、多内容,深耕高效协同的特色功能,基于多元化、灵活的交互体验,更大程度上解决线上业务办理抽象繁琐,线下业务办理的时空受限、业务…

4.Spring【Java面试第三季】

4.Spring【Java面试第三季】前言推荐4.Spring27_Aop的题目说明要求Spring的AOP顺序AOP常用注解面试题28_spring4下的aop测试案例业务类新建一个切面类MyAspect并为切面类新增两个注解:spring4springboot1.5.9pom测试类29_spring4下的aop测试结果aop正常顺序异常顺序…

求极限方法总结

1.利用四则运算法则求极限 2.利用两个重要极限求极限 //0除以0型 //1的无穷次方型 3.利用等价无穷小替换替换求极限 //在等价替换时注意和差项 4.利用洛必达法则求极限 5.利用夹逼准则求极限 6.利用单调有界数列极限准则求极限 7.利用无穷小的性质求极限 8.利用函数的连续性…

来面试阿里测开工程师,HR问我未来3-5年规划,我给HR画个大饼。

在面试的过程中是不是经常被面试官问未来几年的职业规划?你会答吗?是不是经常脑袋里一片空白,未来规划?我只是想赚更多的钱啊,哈哈哈,今天我来教大家,如何给面试官画一个大饼,让他吃的不亦乐乎…

MySQL高级第二讲

目录 二、MySQL高级02 2.1 触发器 2.1.1 触发器介绍 2.1.2 创建触发器 2.2 MySQL的体系结构 2.3 存储引擎 2.3.1 存储引擎概述 2.3.2 各种存储引擎特性 2.3.3 InnoDB 2.3.4 MyISAM 2.3.5 MEMORY 2.3.6 MERGE 2.3.7 存储引擎的选择 2.4 优化sql 2.4.1 查看sql执行…