【Java面向对象】java学习之旅10-方法的一些特性

【Java笔记】第8章:面向对象的三大特性(封装、继承、多态) 各位小伙伴大家好!上期小编给大家讲解了Java中的面向对象,接下来讲讲Java中面向对象的三大特性!Java中面向对象的三大特性是封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)。这些特性是Java编程语言中实现面向对象编程(OOP)的核心概念。封装(Encapsulation)封装是指将数据(属性)和操作数据的方法(行为)封装在一起,形成一个不可分割的整体。在Java中,封装通过访问修饰符(如publicprivateprotected和。 阅读详情
方法的重载

定义:多个方法,方法名相同,使用时根据参数列表的不同区分不同方法。

条件:

  • 发生在一个类中
  • 方法名相同
  • 参数列表不同(参数的个数、数据类型)
  • 与返回值类型、权限修饰符、方法体无关

例:

	public static void main(String[] args) {
		
		Demo03 demo03 = new Demo03();
		//System.out.println(demo03.plus(1, 2));
		
		//System.out.println(demo03.plus(1, 2, 3));
		
		demo03.plus(1.0, 2.0, 3.0);
		
		double[] array = {1,2,3,4,5,6};
		double result = demo03.plus(array);
		System.out.println(result);
	}
	
	public int plus(int a, int b) {
		return a + b;
	}
	
	public int plus(int a, int b, int c) {
		return a + b + c;
	}
	
	public double plus(double a, double b) {
		return a + b;
	}
	
	public double plus(double a, double b, double c) {
		System.out.println("111");
		return a + b + c;
	}
	
	//注意:可以传递独立的多个参数,也可以传递数组
	public double plus(double... a) {
		System.out.println("222");
		double sum = 0;
		for (double d : a) {
			sum += d;
		}
		return sum;
	}
	
	//注意:无法和可变参构成重载
//	public double plus(double[] a) {
//		double sum = 0;
//		for (double d : a) {
//			sum += d;
//		}
//		return sum;
//	}
构造方法

1.区别于普通方法

  • 普通方法方法名符合驼峰命名法,构造方法方法名必须和类名一致。
  • 构造方法没有返回值类型,也不能加void。

2.作用

  • 用于实例化对象并初始化赋值。
  • 写在new关键字的后面。

3.注意

  • 如果没有手动编写构造方法,默认提供一个无参构造方法。
  • 如果手动编写了有参构造方法,不会再提供无参构造方法。
  • 编程规范建议我们,手写无参和有参构造。
  • this关键字用于指向当前对象

例:

public class Dog {
	
	//1.private修饰的变量,只能在本类中使用
	//在外部无法随意修改变量值
	private String nickname;
	private String type;
	private char sex;
	private byte age;
	
	public Dog() {
		
	}

	public Dog(String nickname, String type, char sex, byte age) {
		//2.在有参构造内部做参数的合法校验
		this.nickname = nickname.equals("吴青山") ? "吴绿山" : nickname;
		this.type = type;
		this.sex = sex;
		this.age = age < 0 ? 0 : age;
	}
	
}   
Java面向对象的基本特性 本文深入探讨了Java面向对象编程的三大基本特性:封装、继承和多态。封装通过访问控制和信息隐藏,保护数据完整性,降低耦合度,提高安全性和灵活性。继承建立了类之间的“is-a”关系,实现代码重用,支持多态,并允许扩展现有代码。多态允许使用父类引用指向子类对象,并在运行时根据实际对象类型调用相应的方法,提高代码的灵活性和可扩展性。这三大特性相互关联,共同构成了面向对象编程的核心理念。理解和掌握这些特性,对于编写高质量、可维护、可扩展的Java代码至关重要。在实际开发中,应遵循相关最佳实践,如最小化可见性、优先使 阅读详情

相关推荐

HFSS实战(三)——过孔via TDR仿真

在上一讲中,主要是通过观察S参数确定via的优化是否达到目标。但S参数只能看到一个整体的结果,并不知道via真实的阻抗是多少?想要单独确定via的阻抗,最好还是通过TDR的仿真。

luohuo9844的博客 1万+

关于java面向对象的方法及特性

1.面向对象的三大特征:封装、继承、多态。有时候面试官也会说成是类的三大特性,其实是一回事。 面向对象的三个基本特征是:封装、继承、多态。 封装 封装是对象和类概念的主要特性。封装就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏,对外部不可见。封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性。对于属性和方法的封装都是通过加private修饰符实现的,封装之后的属性和方法对象是不能直接访问的,必须通过setter和gette.

m0_51660523的博客 999

JDK8升级JDK17过程中遇到的那些坑

JDK8虽然非常好,但是JDK版本已经发布到JDK20了,且JDK8后的版本升级了很多新的特性,如模块化、ZGC以及虚拟线程、结构性并发等,也是非常有吸引力的,所以决定将基于JDK8的项目升级到最近的LTS版本JDK17。

BASK2312的博客 6684

Java面向对象:继承特性的学习

本文介绍了面向对象的继承特性: 什么是继承 继承的概念 Java中继承的语法 在继承下父类成员的访问 super和this关键字 父类和子类构造方法 在继承下类中出现初始化代码的执行顺序 父类成员的访问权限对子类的可见性 Java的继承关系 final关键字 认识继承和组合关系

记录并分享学习编程时的知识点... 2250

用 ADT 连接 SAP S/4HANA Public Cloud 开发租户的完整落地指南

摘要:在SAP S/4HANA公有云中进行ABAP开发时,必须使用Development Tenant(客户端080)而非Customizing Tenant(客户端100)连接ADT工具。开发用户需具备SAP_BR_DEVELOPER角色且写权限不受限,开发对象应创建在结构包的子包中。连接前需确认正确的ABAP服务URL(通常为Launchpad URL去掉"/ui"),并通过运行控制台程序验证全链路功能。典型开发场景如通过BAdI实现业务校验时,需遵循Clean Core原则在指定包

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 336

国产数据库全解析:openGauss、OceanBase、TiDB与KingbaseES的核心优势与应用场景指南

本文将深入剖析openGauss、OceanBase、TiDB和KingbaseES这四款主流国产数据库的核心内容,并针对国产化过程中给出使用建议,以帮助企业根据自身需求选择合适的数据库解决方案。国产数据库在性能、扩展性、兼容性、安全性等方面展现出强大实力,能够满足不同行业、不同场景的需求。企业在进行国产化过程中,应充分考虑业务特点、技术栈、团队能力等因素,结合上述分析,选择最适合自身的国产数据库产品。随着国产数据库技术的持续发展与生态完善,它们将成为推动企业数字化转型、保障数据安全的重要力量。

java专栏 8779

Java学习之旅:从入门到进阶的系统总结

Spring MVC是Java EE中一个流行的框架,它基于Spring框架,提供了MVC设计模式的实现。Spring MVC通过注解和配置文件简化了Web开发,支持请求映射、数据绑定、视图解析等功能。Java是一门功能强大、应用广泛的编程语言,学习Java不仅可以掌握一门实用的编程技能,还可以深入了解面向对象编程、多线程编程、网络编程等重要概念。通过本文的系统总结,希望你对Java的学习有了更清晰的思路和方向。

吾为热爱计科,致力于知识分享的践行者,此博客是我在这条道路上留下的足迹。 3647

OpenCV 实战篇——如何测算出任一副图片中的物体的实际尺寸?传感器尺寸与像元尺寸的关系?

本文介绍了通过相机图像测算物体实际尺寸的方法,重点分析了传感器参数与成像质量的关系。文章首先给出了物体实际尺寸的计算公式,涉及像素尺寸、距离、分辨率等参数。然后详细解析了传感器尺寸与像元尺寸的关系,指出相同分辨率下更大的传感器能获得更好的成像质量。此外还介绍了光学尺寸、像素尺寸对成像的影响,以及帧率的概念。最后提及了相机标定的重要性,并概述了从像素坐标系转换到世界坐标系的基本思路。这些知识为通过相机图像进行精确测量提供了理论基础。

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1335

Java面向对象:封装特性的学习

本篇文章接受了Java面向对象的封装特性,什么是封装,封装的体现,Java四种访问权限修饰符的介绍 介绍了Java中的包,什么是包,如何导入包中的类,包的访问权限以及认识Java内常见的包

记录并分享学习编程时的知识点... 1965

yolov5 FPGA实现及verilog代码仿真

本文介绍了一种基于FPGA的卷积神经网络加速器设计,采用混合架构实现网络功能。该系统将训练和图像预处理等复杂计算保留在PC端执行,仅将主干网络部署在FPGA上。由于片上资源限制,建议通过外接DDR存储扩展容量。文章提供了完整的Verilog HDL源码,包括卷积单元(convUnit)、卷积层(convLayerSingle)和处理单元(processingElement)等核心模块,均已通过仿真验证。该设计采用流水线结构,使用浮点运算单元实现卷积计算,支持32x32图像输入和5x5卷积核处理。系统架构图中

QQ_778132974的博客 575

前端build工程的时候 出现 `build.rollupOptions.external 的解决方法

看到这个Bug,理性分析: 遇到 Rollup failed to resolve import “@vue/devtools-api” 错误可能是由于 Pinia 使用了 @vue/devtools-api 模块,而 Vite 的 Rollup 插件无法解析这个模块 ps:但是我前一秒还可以,加了个别代码,突然不行,我是不相信的 = - =

码农研究僧的博客 3055

java的基础入门学习02-面向对象特性及使用

java中经常会把需要使用到的数据结构来封装成对象,而当我们这些后来希望使用前辈留下来的代码或者自己拓展功能供大家借鉴使用,面向对象是学习java中十分重要的部分。这里再次巩固java基础给大家带来一点自己的见解。面向对象的编程思想就是把事物看作一个整体,从事物的特征(属性)和行为(方法)两个方面进行描述。面向对象的过程就是找对象、建立对象、使用对象、维护对象的关系的过程。

m0_74345597的博客 2080

[VT虚拟化驱动]利用EPT实现无痕HOOK

本章利用讲EPT无痕HOOK

吾无法无天的博客 1万+

Java面向对象的特性

SCAU面向对象程序设计复习总结——关于Java语言面向对象特性的介绍

博客记录学习轨迹,方便日后复习 3643

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Java面向对象三大特性学习总结

面向对象的三大特性:封装、继承、多态 将对象的属性和实现细节隐藏起来,不让外部程序直接进行访问,将属性私有化,仅对外公开接口,让外部程序通过类提供的方法来对隐藏信息进行访问和操作。好处是外部程序只能通过类规定的方法对数据进行访问,避免外界程序对类内部属性进行破坏。

GeTDarK的博客 1134

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Java面向对象三大特性

面向对象特性之封装性,继承性,多态性

weixin_63736489的博客 6319

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java面向对象学习总结

抽象类(可以说是比父类抽象程度更高的父类,允许不写方法体)是不能被实例化(不能被new的)的类,通常用于定义一些通用的行为和属性,并要求子类提供具体的实现。抽象类可以包含抽象方法和非抽象方法。抽象类不能直接创建对象,只能通过子类实例化,且子类必须对父类的所有抽象方法进行重写。有抽象方法的类必须是抽象类,抽象类中不一定要有抽象方法,可以写具体方法。// 抽象方法void display() { // 非抽象方法@Override@Override// 输出: Drawing Circle。

m0_53999704的博客 1895

JAVA面向对象三大特性

JAVA面向对象三大特性 文章目录JAVA面向对象三大特性面向对象面向对象生命周期封装概念:封装步骤:关于JAVA关键字this关键字构造方法:构造方法作用:继承概念:语法结构:继承与扩展方法的重载方法的覆盖final关键字super关键字继承和类实例化过程多态概念:作用:多态存在的三个必要条件多态的好处: Java 是面向对象的高级编程语言,类和对象是 Java 程序的构成核心。围绕着 Java...

dragon3100的博客 1232

Java面向对象的四个特性

java基础篇1---Java面向对象的四个特性1、封装2、抽象1)抽象类2)接口3、继承4、多态多态存在的必要条件方法的执行过程 1、封装 封装指的是将描述一个对象的属性和行为封装到一个模块里,Java中称为类。属性用变量定义,行为用方法表示,方法可以访问修改同一个对象中的属性。 2、抽象 抽象指的是将现实世界的实际存在或逻辑抽象为一个类,要实现数据抽象和过程抽象。如汽车类,要在类中定义汽车的品...

qq_41257358的博客 2745

【Java基础】Java面向对象的三大特性,你了解多少?

Java面向对象小技巧,今天你学废了吗?

程序员青戈 5428

java学习 面向对象三大特性简介

它从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物(即对象)为中心来思考,认识问题并根据这些事物的本质特点,把它们抽象地表示为系统中的类,作为系统的基本构成单元(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的过程来构造系统),这使得软件系统的组件可以直接映像到客观世界,并保持客观世界中事物及其相互关系的本来面貌(<疯狂java讲义>)。用我的理解来就是,

sin1810335764的博客 951

java面向对象三大特性

一、面向对象的概念 面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物使用对象的关系来描述事物之间的联系,这种思想就是面向对象。 提到面向对象,自然会想到面向过程,面向过程就是分析解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候一个一个依次调用就可以了。面向对象则是把解决的问题按照一定规则划分为多个独立的对象,然后通过调用对象的方法来解决问题。当然,一个应用程序会包含多个对象,通过多个对象的相互配合来

weixin_52841956的博客 3641

Java面向对象核心:面对对象的三大特性、对象、变量、方法深度解析

本文系统介绍了Java面向对象编程的核心概念。面向对象以类和对象为基础,通过封装、继承和多态三大特性实现代码组织。重点解析了变量的三种类型(局部、实例和静态变量)及其内存管理机制。详细阐述了方法的分类(实例方法、静态方法、构造方法和抽象方法)以及方法重载的实现方式。特别讲解了this关键字的四种用法:解决命名冲突、实现链式调用、构造方法调用和作为参数传递。这些基础概念是构建Java应用的核心,深入理解它们有助于掌握面向对象编程思想。

2401_88246316的博客 1669

Java 面向对象三大核心特性学习指南

检查点问题是否掌握封装1. 为什么要把字段设为 private?2. Getter/Setter 方法还能做什么?□继承1. super 关键字的作用?3. final 修饰类/方法/变量的区别?□多态1. “编译看左边,运行看右边” 是什么?2. 为什么编译报错?3. instanceof 的作用?4. 多态的优势?□综合能否独立设计并实现员工薪酬系统?

2301_79874903的博客 1220

夯实Java基础系列1:Java面向对象三大特性(基础篇)

本文会结合虚拟机对引用和对象的不同处理来介绍三大特性的原理。 具体代码在我的GitHub中可以找到: https://github.com/h2pl/MyTech 文章首发于我的个人博客: https://h2pl.github.io/2018/04/22/javase1/ 三大特性:继承 封装 多态 继承 Java中的继承只能单继承,但是可以通过内部类继承其他类来实...

Java技术江湖 7648
上一篇: 【Java面向对象】java学习之旅9-类中的相关概念
下一篇: 【Java面向对象】java的学习之旅11-封装
JeffHan^_^
博客等级 码龄7年 1万+粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JeffHan^_^

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值