JAVA面向对象(二)

news2024/11/13 3:37:36

第二章  方法与方法重载


目录

第二章  方法与方法重载

带参方法的使用

构造方法

构造方法重载

成员变量和局部变量

总结


内容仅供学习交流,如有问题请留言或私信!!!!!

有空您就点点赞


带参方法的使用

        定义:

<访问修饰符>返回类型<方法名>(<形参列表>){

        //方法主体

}

        调用:

对象名.方法名(参数1,参数2,参数3.......)//这里调用时传递的参数为实参

        注意:形参与实参传递时,数据类型、对应位置需要一致。

eg:例题展示给狗看病。

         定义狗类:

package test;

public class Dog {
	String name;
	String type;
	int health;
	int love;
	
	public void show() {
		System.out.println("我叫"+name+"是一只"+type+"健康值为"+health+"亲密度为"+love);
	}
	
	
}

        定义医生类:

package test;
//主人类
public class Master {
	
	
	public void kanbing(Dog dog) {


		if(dog.health<50) {
			System.out.println("生病,看病");
			System.out.println("打针。。。。");
			dog.health = dog.health +20;
		}
		else {
			System.out.println("不需要看病");
		}

	}
	
}

        测试:

package test;

//测试类
public class Test01 {

	public static void main(String[] args) {

		// 狗1
		Dog dog1 = new Dog();
		dog1.name = "张三 ";
		dog1.type = "金毛 ";
		dog1.health = 100;
		dog1.love = 100;
	
		//狗2
		Dog dog2 = new Dog();
		dog2.name = "李四 ";
		dog2.type = "泰迪 ";
		dog2.health = 20;
		dog2.love = 60;
		
		//医生类
		Master master = new Master();
		master.kanbing(dog1);
		dog1.show();
		master.kanbing(dog2);
		dog2.show();
	}

}

构造方法

访问修饰符  构造方法名(){

        //初始化代码

}

        构造方法是一个特殊的成员方法,名字必须与类名相同,在创建对象时由编译器自动调用,并且在整个对象的生命周期内只调用一次。

构造方法

  • 作用:对象初始化
  • 每个类都有默认无参构造方法
  • 可以自定义带参构造方法,此时系统不再提供默认无参构造方法

this:对一个对象的默认引用

构造方法重载

方法重载:

  • 同一个类中
  • 方法名相同 
  • 参数个数或类型不同
  • 与返回值、访问修饰符无关

eg:

public  void showInfo(){

        System.out.println();

}

//showInfo()方法重载:同一类中;方法名相同;不同参数(参数个数不同,参数类型不同)

public  String showInfo(int num){

        System.out.println();

        return "test";

}

        例题:实现简易计算器,分别实现两个整数、三个浮点数的加法运算

成员变量和局部变量

  • 变量声明的位置决定变量作用域
  • 变量作用域确定可在程序中按变量名访问该变量的区域

        作用域不同:

  •     局部变量的作用域仅限于定义它的方法
  •     成员变量的作用域在整个类内部都是可见的

        初始值不同:

  • Java会给成员变量一个初始值
  • Java不会给局部变量赋予初始值

注意:

在同一个方法中,不允许有同名局部变量;在不同的方法中,可以有同名局部变量。

在同一个类中,成员变量和局部变量同名时局部变量具有更高的优先级。


总结

        练习:这里写练习及链接等。

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

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

相关文章

Java代码的运行过程

我们来聊一聊java代码是如何运行的。大家都知道java是运行在JVM上的&#xff0c;那它是怎么结合操作系统去控制那些硬件设备的呢&#xff1f; 其实想要知道这个问题我们可以跟踪一行代码的整个生命周期来解释&#xff0c;我把它抽象为这么五个步骤。 首先这行代码会被编译成字节…

最强攻略 | 1分钟带你了解内测,成为BUG小能手!

「百度产品内测」招募内测体验官啦&#xff01;&#xff01; 参与百度内测&#xff0c;不仅可以直接接触百度运营官&#xff0c;还能拿礼物拿京东卡拿百度大礼包&#xff01; 什么你说你没接触过内测&#xff1f;贴心如我&#xff0c;给大家带来一份史上最全的新手入门指南&am…

​DMBOK知识梳理for CDGA/CDGP——第五章 数据模型与设计(附常考知识点)

关 注gzh“大数据食铁兽”&#xff0c;回复“知识点”获取《DMBOK知识梳理for CDGA/CDGP》常考知识点&#xff08;第五章 数据模型与设计&#xff09; 第五章 数据模型与设计 第五章是CDGA|CDGP考试的重点考核章节之一&#xff0c;分值占比高&#xff0c;知识点比较密集…

【大数据之路4】分布式计算模型 MapReduce

4. 分布式计算模型 MapReduce 1. MapReduce 概述1. 概念2. 程序演示1. 计算 WordCount2. 计算圆周率 π 3. 核心架构组件4. 编程流程与规范1. 编程流程2. 编程规范3. 程序主要配置参数4. 相关问题1. 为什么不能在 Mapper 中进行 “聚合”&#xff08;加法&#xff09;&#xff…

MATLAB入门教程||MATLAB决策制定||MATLAB if...end 语句

MATLAB决策制定 本节内容&#xff1a;了解MATLAB提供的决策类型&#xff0c;及使用它们进行决策制定。 决策结构用来做什么&#xff1f;决策结构要求程序员能够使用一个或者多个的条件来对程序进行评估或者测试&#xff0c;沿着一条或多条语句执行&#xff0c;如果该条件被确定…

docker启动rabbitmq无法访问15672端口

1.问题说明 使用rabbitmq:3.8.14版本启动了rabbitmq容器&#xff0c;5672、25672端口都可以连接&#xff0c;唯独15672仅在服务器本地可被连接。 2.问题原因 rabbitmq:3.8版本开始&#xff0c;管理插件包含在RabbitMQ发行版中。与其他任何插件一样&#xff0c;必须先启用它&am…

SpringCloud_微服务基础day2(Eureka简介与依赖导入,服务注册与发现)

p6:Eureka简介与依赖导入 前面我们了解了如何对单体应用进行拆分&#xff0c;并且也学习了如何进行服务之间的相互调用&#xff0c;但是存在一个问题&#xff0c;就是虽然服务拆分完成&#xff0c;但是没有一个比较合理的管理机制&#xff0c;如果单纯只是这样编写&#xff0c;…

实战:Spring Cloud Stream集成兼容多消息中间件kafka、rabbitmq

文章目录 前言实战要点技术积累Spring Cloud Stream简介集成kafka要点集成rabbitmq要点 实战演示Maven依赖版本号选择Spring及MQ主要配置基础信道绑定信道消息发送集成兼容多mq演示Rabbitmq演示Kafka演示 写在最后 前言 前面的博文我们介绍并实战演示了Spring Cloud Stream整合…

Java 使用 VisualVM 排查内存泄露

文章目录 1. 问题发生2. 排查过程2.1 初步排查2.2 Visual VM 内存分析2.3 代码分析 1. 问题发生 线上突发告警&#xff0c;笔者负责的一个服务老年代内存使用率到达 75% 阈值&#xff0c;于是立即登录监控系统查看数据。拉长时间周期&#xff0c;查看最近 7 天的 GC 和老年代内…

Transformer【ViT】

参考 导师&#xff01;博主的复现太细了。做个记录。 层神经网络学习小记录67——Pytorch版 Vision Transformer&#xff08;VIT&#xff09;模型的复现详解 计算机视觉中的transformer模型创新思路总结_Tom Hardy的博客-CSDN博 Vision Transformer详解 ViT 前处理 网络结…

2核4G轻量应用服务器性能测评(腾讯云PK阿里云)

阿里云轻量应用服务器2核4G4M带宽297.98元12个月&#xff0c;腾讯云轻量2核4G5M服务器168元一年&#xff0c;628元3年&#xff0c;2核4G轻量应用服务器阿里云和腾讯云怎么选择&#xff1f;哪个性能比较好&#xff1f;阿腾云分享轻量应用服务器2核4G配置阿里云和腾讯云CPU、带宽…

三种编码方式(费诺曼编码,霍夫曼编码,哈夫曼树编码)的简单解释和介绍

一. 费诺曼(Fano)编码是一种前缀编码&#xff0c;其基本原理是将出现频率较高的符号用短的编码表示&#xff0c;而出现频率较低的符号则用长的编码表示。通过这种方式进行编码&#xff0c;可以达到更好的压缩效果。 费诺曼编码的具体过程如下&#xff1a; 将要编码的符号按照…

书籍《银河帝国11:曙光中的机器人》观后感

这本书其实看完有段时间了&#xff0c;《银河帝国11:曙光中的机器人》是阿西莫夫写的《基地》系列第11本书&#xff0c;整个系列不是完全连贯的&#xff0c;本书是《银河帝国10》的后续。 先让我们来回忆一下前奏和背景吧&#xff0c;未来随着人类科技发展&#xff0c;遨游太空…

d2l学习——第一章Introduction

x.1 key components in ML 就和统计学习方法书中说的一样&#xff0c;机器学习也可以分为几个核心要义&#xff0c;Data, Models, Objective Functions, Optimization Algorithms&#xff0c; 其中&#xff1a; Data: 用来学习的数据Model: 如何转换/translate数据的模型Obje…

Vivado_除法器 IP核 使用详解

本文介绍使用Vivado中除法器Divider Generator&#xff08;5.1&#xff09;的使用方法。 参考资料&#xff1a;pg151 文章目录 Divider Generator仿真测试 Divider Generator Channel Settings选项卡 #Common Options&#xff1a; Algorithm Type: 一共有三种类型&#xff0c;…

操作系统 第三章 3.1 错题整理

装入时&#xff0c;相应的地址要修改 若存放的位置从150开始 则所有的地址都加150 加完后的地址是物理地址 不能改变 可变分区&#xff1a;产生的外部碎片需要紧凑 C D 都是执行时才进行地址的变换的 该共享段直接在内存中 不用调入调出 供多个进程共享 II 假设该进程很小 页面…

智能指针(1)

智能指针&#xff08;1&#xff09; 概念内存泄漏指针指针概念RAII使用裸指针存在的问题 智能指针使用分类unique&#xff08;唯一性智能指针&#xff09;介绍智能指针的仿写代码理解删除器 概念 内存泄漏 内存泄漏&#xff1a;程序中已动态分配的堆内存由于某些原因而未释放…

Vue.js 中的插槽是什么?如何使用插槽?

Vue.js 中的插槽是什么&#xff1f;如何使用插槽&#xff1f; 在 Vue.js 中&#xff0c;插槽是一种组件之间通信的机制&#xff0c;允许父组件向子组件传递内容&#xff0c;并在子组件中进行渲染。本文将介绍 Vue.js 中插槽的概念、优势以及如何使用插槽。 什么是插槽&#xf…

cas 6 单点登录登出管理

cas自带的登出是通过登出地址后面接的service地址进行跳转&#xff0c;但是对于service没有进行验证&#xff0c;这边我们网络渗透测试后说可能被钓鱼需要进行验证所以开始了以下操作。 1找资料 首先到cas官网找&#xff0c;发现项目有自带的是否跳转&#xff0c;跳转地址参数…

辞了外包,上岸字节测试岗我落泪了,400多个日夜没人知道我付出了多少....

前言&#xff1a; 没有绝对的天才&#xff0c;只有持续不断的付出。对于我们每一个平凡人来说&#xff0c;改变命运只能依靠努力幸运&#xff0c;但如果你不够幸运&#xff0c;那就只能拉高努力的占比。 2023年3月&#xff0c;我有幸成为了字节跳动的一名自动化测试工程师&am…