Java的类与对象

前言

Java是一门纯面向对象的语言(Object Oriented Program,简称OOP),在面向对象的世界里,一切皆为对象。面向对象是解决问题的一种思想,主要依靠对象之间的交互完成一件事情。用面向对象的思想来涉及程序,更符合人们对事物的认知,对于大型程序的设计、扩展以及维护都非常友好

面向对象三个点:1.找对象 2.创建对象 3.使用对象 

1.概念

java中一切皆对象

是用来对一个实体(对象)来进行描述的,主要描述该实体(对象)具有哪些属性(外观尺寸等),哪些功能(用来干啥),描述完成后计算机就可以识别了

对象则是对实际存在的属该类事物的具体个体。如动物(类)中的某一个个体,如熊猫、大象等

2.定义与使用

2.1定义

class ClassName {
    field;//字段(属性)或者成员变量
    method;//行为或者成员方法
}

class为定义类的关键字,ClassName为类的名字,{}中为类的主体

类中包含的内容称为类的成员。属性主要是用来描述类的,称之为类的成员属性或者类成员变量。方法主要说明类具有哪些功能,称为类的成员方法。

这里我们以洗衣机为例

public class WashMachine {
    public String brand;//品牌
    public String type;//型号
    public String weight;//重量
    public String length;//长度
    public String width;//宽度
    public String height;//高度
    public String color;//颜色

    public void washClothes(){
        System.out.println("洗衣功能");
    }
    public void dryClothes(){
        System.out.println("脱水功能");
    }
    public void setTime(){
        System.out.println("定时功能");
    }
}

2.2使用 

new关键字来实例化

1.new 关键字用于创建一个对象的实例.
2.使用 . 来访问对象中的属性和方法.
3.同一个类可以创建多个实例.

3.面向对象的三大特性

3.1封装

在类与对象中主要讨论封装

封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互

3.2继承

继承(inheritance)机制:是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加新功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。继承主要解决的问题是:共性的抽取,实现代码复用。

例如:狗和猫都是动物,那么我们就可以将共性的内容进行抽取,然后采用继承的思想来达到共用

3.3多态(重点)

多态:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状 态。

使用条件:

1. 必须在继承体系下

2. 子类必须要对父类中方法进行重写

3. 通过父类的引用调用重写的方法


如果上述内容对您有帮助,希望给个三连谢谢 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

2024年【熔化焊接与热切割】模拟考试题库及熔化焊接与热切割实操考试视频

题库来源:安全生产模拟考试一点通公众号小程序 熔化焊接与热切割模拟考试题库参考答案及熔化焊接与热切割考试试题解析是安全生产模拟考试一点通题库老师及熔化焊接与热切割操作证已考过的学员汇总,相对有效帮助熔化焊接与热切割实操考试视频学员顺利通…

YOLOv9有效改进|CVPR2023即插即用的到残差注意力机制(轻量化注意力机制)Inverted Residual Mobile Block

专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,助力高效涨点!!! 一、改进点介绍 在YOLOv9中加入CVPR2023即插即用的到残差注意力机制。 二、模块详解 2.1 模块简介 Inverted Residual Mobile Block结合了倒置残差块…

MySQL高级学习笔记

1、MySQL架构组成 1.1 高级MySQL介绍 什么是DBA? 数据库管理员,英文是Database Administrator,简称DBA; 百度百科介绍 数据库管理员(简称DBA),是从事管理和维护数据库管理系统(D…

使用PLCSIM Advanced仿真博途运动控制

作者顾工首先,添加一个CPU,直接添加一个1518T,反正仿真,不用最好的干嘛呢。是吧。当然,你也可以添加一个你喜欢的PLC,这里不强求。 然后添加工艺对象,我们简单添加一个定位轴。 在工艺对象&am…

php laravel 二维码

public function qr($url,$name2,$inpath){require_once(dirname(__FILE__) . /../../../Library/phpqrcode/phpqrcode.php);$errorCorrectionLevel L;//容错级别$matrixPointSize 10;//生成图片大小$QRcode new \QRcode() ;$QRcode->png($url, $inpath.$name2, $errorCor…

参数化学习

因为parameters的参数不能和数据驱动类使用,会出现报错,可以使用before test/等参数

NCV6323BMTAATBG同步降压转换器芯片中文资料规格书PDF数据手册参数引脚图图片

产品概述: NCV6323 是一款同步降压转换器,用于使用一个锂电池或三个碱性/镍镉/镍氢电池供电的便携式应用的各种子系统。此类器件能够基于外部可调电压提供高达 2 A 的电流。使用 3 MHz 开关频率的运行允许采用小尺寸电感器和电容器。采用输入电源电压前…

Premiere模板|200个视频标题文字动画pr字幕模板包

Premiere模板,13个类别200个Pr视频标题字幕文字动画模板mogrt包。 几乎适用于任何场景。粗体标题,标注,未来主义和线条标题,下三分之一,霓虹灯,带数字的标题,倒计时,表格&#xff0c…

Spring Cloud Alibaba微服务从入门到进阶(七)(服务容错-Sentinel)

雪崩效应 我们把基础服务故障,导致上层服务故障,并且这个故障不断放大的过程,成为雪崩效应。 雪崩效应,往往是因为服务没有做好容错造成的。 微服务常见容错方案 仓壁模式 比如让controller有自己独立的线程池,线程池满…

海外舆情监控的重要性以及云手机的推荐

海外市场不仅有着无尽的商机,同时也存在着各种各样的挑战。例如,海外市场舆情的复杂变化给企业带来了潜在风险,尤其在新媒体技术快速发展的时代,舆论对企业品牌形象的影响日益巨大。本文将详细探讨海外舆情监控的重要性以及为大家…

jmeter接口测试教程及接口测试流程详解

一、Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试。 Jmeter具备高移植性,可以实现跨平台运行。 Jmeter可以实现分布式负载。 Jmeter采用多线程,允许通过多个线程并发取样或通过…

24.两数相加

给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 …

Java程序设计 3 选择

布尔数据类型和逻辑运算符 boolean类型的值为true和false,其字面值也只有true和false(也就是不能等同视为0和非零,这一点和C/C有所不同),且不能和其他数据类型混合运算(包括类型转换)。 Java里面…

【leetcode】67.二进制求和

前言:剑指offer刷题系列 问题: 给你两个二进制字符串 a 和 b ,以二进制字符串的形式返回它们的和。 示例: 输入:a "1010", b "1011" 输出:"10101"思路1: …

【面试题】HashMap为什么可以插入null而Hashtable就不可以(源码分析)

首先hashmap可以插入null值,但是hashtable和hashcurrentHashmap是不支持的;这是因为在 hashmap对插入key为null进行了特殊处理,当插入的值为null的时候会将哈希值设置为0 但是hashtable会直接抛出异常: 并且hashmap是线程不…

微信小程序选择器picker的使用(省市区)

index.wxml picker中的 moderegion模式&#xff0c;这里同element中的select不同的是&#xff0c;不需要自己在绑定数据原&#xff0c;默认就包含了省市区的整体数据 <view class"section"><view class"section__title">省市区选择器</vie…

13、Deconstructing Denoising Diffusion Models for Self-Supervised Learning

简介 研究了最初用于图像生成的去噪扩散模型(DDM)的表示学习能力 解构DDM&#xff0c;逐步将其转变为经典的去噪自动编码器(DAE) 探索现代ddm的各个组成部分如何影响自监督表征学习 结论&#xff1a; 只有很少的现代组件对于学习良好的表示是至关重要的&#xff0c;而其他许多…

2022年第13届蓝桥杯Java省赛B组-星期计算

一、题目 星期计算 【问题描述】 已知今天是星期六&#xff0c;请问 天后是星期几&#xff1f;注意用数字 1 到 7 表示星期一到星期日。 【答案提交】 这是一道结果填空的题&#xff0c;你只需要算出结果后提交即可。本题的结果为一个整数&#xff0c;在提交答案时只填写这个…

算法|基础算法|大数取余

基础算法|暴力 大数取余 心有猛虎&#xff0c;细嗅蔷薇。你好朋友&#xff0c;这里是锅巴的C\C学习笔记&#xff0c;常言道&#xff0c;不积跬步无以至千里&#xff0c;希望有朝一日我们积累的滴水可以击穿顽石。 大数取余 大数取余&#xff0c; 从字符串的首位开始&#xf…

GESP图形化编程三级认证真题 2024年3月

GESP 图形化三级试卷 &#xff08;满分&#xff1a;100 分 考试时间&#xff1a;120 分钟&#xff09; 一、单选题&#xff08;一共 15 个题目&#xff0c;每题 2 分&#xff0c;共 30 分&#xff09; 1、小杨的父母最近刚刚给他买了一块华为手表&#xff0c;他说手表上跑…