属性和方法

news2024/11/15 22:53:18

类的属性

变量:1,按照数据类型来分基本数据类型,引用数据类型
2,按照变量在类中声明的位置不同:成员变量(属性)、局部属性(方法内,构造器内,代码块内等)就比如人按照性别来分,以及按照年龄来分

请添加图片描述

局部变量和成员变量的异同

相同点:
变量的格式相同:变量类型 变量名= 变量值;
变量都有有效的作用域:作用域都是离该属性最近的大括号,出了作用域就失效了
变量先初始化,在使用
无论局部变量还是成员变量都有默认值

3、生命周期 (1)实例变量:和对象的生命周期一样,随着对象的创建而存
在,随着对象消亡而消亡, 而且每一个对象的实例变量是独立的。
(2)局部变量:和方法调用的生命周期一样,每一次方法被调用而在存在,随
着方法执行的结束而消亡, 而且每一次方法调用都是独立。

在这里插入图片描述

类的方法使用

方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过 程。
将功能封装为方法的目的是,可以实现代码重用,减少冗余,简化代码
Java 里的方法不能独立存在,所有的方法必须定义在里。

. Math.random()的 random()方法
– Math.sqrt(x)的 sqrt(x)方法
– System.out.println(x)的 println(x)方法
– new Scanner(System.in).nextInt()的 nextInt()方法
– Arrays 类中的 binarySearch()方法、sort()方法、equals()方法

请添加图片描述

1、声明方法的语法格式
[修饰符] 返回值类型 方法名([形参列表])[throws 异常列表]{
方法体的功能代码
}

返回值类型:
表示方法运行的结果的数据类型,方法执行后将结果返回到调用者。
– 无返回值,则声明:void
– 有返回值,则声明出返回值类型(可以是任意类型)。与方法体中“return
返回值”搭配使用

关于方法体中 return 语句的说明:

return的作用

作用一:用于方法的结束,也就是说如果有返回值的方法,这个return是放在该方法的最后一行代码;
作用二:结束一个方法的同时,可以将一个数据返回给调用者,(如果方法有返回值类型,则搭配return使用

方法的重载(overload)

7.1.1 概念及特点
方法重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数列表不同即
可。满足这样特征的多个方法,彼此之间构成方法的重载;

总结:
相同:在同一个类里,方法名相同
不同:参数列表不同(参数的类型不同,参数的顺序不同,参数的个数不同)
注意:和参数的名字没有关系请添加图片描述

2.6 练习:测试方法的重载
创建包: cn.tedu.method
创建类: TestMethodOverload.java

package cn.tedu.method;
/**本类用于测试方法的重载*/
public class TestMethodOverload {
	public static void main(String[] args) {
		/**1.我们根据方法名+参数列表确定具体调用哪个方法*/
		/**2.方法的重载:
		 * 在同一个类中,存在方法名相同,但参数列表不同的方法
		 * 如果在同类中,同名方法的参数个数不同,一定构成重载
		 * 如果在同类中,同名方法的参数个数相同,
		 * 需要查看对应位置上参数的类型,而不是参数名,与参数名无关
		 * (int a,String b)与(int b,String a)--不构成重载
		 * (int a,String b)与(String a,int b)--构成重载
		 * */
		//2.调用method()
		method();
		//4.调用method(int)
		method(666);
		//6.调用method(int,String)
		method(888,"泡泡");
	}

	//1.创建一个无参的method()
	public static void method() {
		System.out.println("哈哈哈哈我没参数");
	}
	//3.创建一个method(int n)
	public static void method(int n) {
		System.out.println("哈哈哈哈我的参数是:"+n);
	}
	//5.创建一个method(int n,String s)
	public static void method(int a,String b) {
		System.out.println(b+"今晚要干他"+a+"碗大米饭");
	}
	public static void method(String a,int b) {
		System.out.println(b+"今晚要干他"+a+"碗大米饭");
	}
}

递归方法
(图片里面有图片)
请添加图片描述

递归方法调用:方法自己调用自己的现象就称为递归。
递归的分类: 直接递归、间接递归

直接递归:方法自身调用自己。

public void methodA(){
methodA();
}

间接递归:可以理解为 A()方法调用 B()方法,B()方法调用 C()方法,C()方法调用 A()方法。

public static void A(){
B();
}
public static void B(){
C();
}
public static void C(){
A();
}

说明:
递归方法包含了一种隐式的循环。
递归方法会重复执行某段代码,但这种重复执行无须循环控制
递归必须有停止的条件否则就变成了无穷递归,停不下来,类似于死循环


public class AddRecursion {
    public static void main(String[] args) {
        System.out.println(sum(100));
    }

    public static int sum(int n) {
        if (n == 1) {
            return 1;
        } else {
        //在这里注意:n=2的时候2+sum方法的结果当n=2的时候sum的结果是1
            return n + sum(n - 1);
        }
    }
}

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

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

相关文章

android 如何分析应用的内存(六)

android 如何分析应用的内存(六) 接上文,本系列文章,最重要的部分——————对native堆内存的分析,即将上演 分成六大板块: 手动实现,new和delete,以及malloc和freee&#xff0…

LVS+Keepalived负载均衡高可用群集(往事清零,万事顺意)

一、Keepalived高可用详解 1.应用场景 在企业应用中,单台服务器承担应用存在单点故障的危险。单点故障一旦发生,企业服务将发生中断,造成极大的危害。所以需要群集实现高可用性,保证服务稳定。 2.介绍和原理简介 Keepalived是…

【JAVA开发环境配置】 卸载JDK很简单, 一分钟帮你搞定!

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享博主 🐋 希望大家多多支持一下, 我们一起进步!😄 🏅 如果文章对你有帮助的话,欢迎评论 💬点赞&#x1…

中科三方:DNS云解析技术浅析

智能DNS云解析通过其智能解析,健康监测,负载均衡,宕机切换等高可用性的功能特性,给客户带来快捷,安全,流畅的上网体验。传统的DNS因为其解析时间冗长,易被劫持,无法精准调配用户的流…

【jupyter notebook】Anaconda prompt查询版本包(已安装的包列表、可以安装的包列表)

目录 0.环境介绍 1.查询当前已安装的某包信息 2.查询某包的所有版本 3.查看已安装的各个包的版本 0.环境介绍 windows Anaconda 1.查询当前已安装的某包信息 信息包含包名和版本,以包【matplotlib】为例 conda list matplotlib 2.查询某包的所有版本 conda s…

playwright-自动化测试

这里写目录标题 安装运行记录操作执行脚本 安装 (1)安装Playwright依赖库(Playwright支持Async\Await语法,故需要Python3.7) pip install playwright (2)安装Chromium、Firefox、WebKit等浏览…

【Unity Shader】平面投影实现阴影

介绍 球体和立方体挂载下面这个shader,就是多渲染一个阴影投影到y0的平面上 // shader,放在需要显示阴影的对象上 Shader "Custom/PlanarShadow1" {Properties{_Instensity("Shininess", Range(2, 4)) 2.0 //光照强度_Diffuse(&…

Mac下自定义快捷键

1、系统偏好设置-键盘-快捷键-App快捷键 2、确定要对什么进行自定义 比如 我要对DBeaver的运行自定义,我个人喜欢用cmd r 3、添加App快捷键 注意,菜单标题就是应用里的,必须要一模一样,哪怕是空格都不能少。也不能多。 4、对…

在Excel中如何筛选五笔码表?

你可以按照以下步骤筛选五笔码表中的简词: 1. 在 Excel 中打开五笔码表,选中需要筛选的数据列。 2. 点击“数据”选项卡中的“筛选”按钮,在下拉菜单中选择“高级筛选”。 3. 在弹出的“高级筛选”对话框中,选择“复制到其他位置…

什么是MBR/UEFI/GPT?MBR与UEFI具体区别是什么?

一、什么是MBR MBR是Master Boot Record(主引导记录)的缩写,是存储在计算机硬盘的第一个扇区(通常是第0个扇区)中的一个特殊的引导扇区。 MBR包含了启动计算机所需的信息,例如分区表、引导程序等。当计算机…

Python的接口自动化-unittest测试框架和ddt数据驱动

目录 引言 一、unittest测试框架 二、ddt数据驱动 引言 在编写接口自动化用例时,我们一般针对一个接口建立一个.py文件,一条接口测试用例封装为一个函数(方法),但是在批量执行的过程中,如果其中一条出错…

#include < > 和#include ” ”有什么区别?

C语言头文件 C语言中头文件的扩展名为 .h的头文件,头文件中包含了函数的声明和宏定义,头文件可以被多个源文件引用。在C语言中有两种类型的头文件,一种是编译器自带的头文件,另一种就是程序员自己编写的头文件。 在C程序中如果要使…

package和import关键字的使用

package(包) package,称为包,用于指明该文件中定义的类、接口等结构所在的包。 8.1.1 语法格式 package 顶层包名.子包名 ; 包的作用 • 包可以包含类和子包,划分项目层次,便于管理 • 控制访问权限 import(导入) 为了使用定…

python基础知识(十三):numpy库的基本用法

目录 1. numpy的介绍2. numpy库产生矩阵2.1 numpy将列表转换成矩阵2.2 numpy创建矩阵 3. numpy的基础运算4. numpy的基础运算25. 索引 1. numpy的介绍 numpy库是numpy是python中基于数组对象的科学计算库。 2. numpy库产生矩阵 2.1 numpy将列表转换成矩阵 import numpy as …

中国人民大学与加拿大女王大学金融硕士——不断充实自己的知识库

在职场我们总是悄无声息的崩溃又悄无声息的自愈。别人拥有的,只要努力,你也会拥有。真正的成功源于生命里的学习,成长和热爱,以及不停步。一直前向走就是巅峰,中国人民大学与加拿大女王大学金融硕士助力我们在职提升。…

锂电池移动电源等电信终端产品配套用电源适配器/充电器产品纳入CCC范围

2023年8月1日起,以下三类产品纳入CCC认证范围: 1、便携式产品用锂离子电池和电池组(0915) 2、移动电源(0914) 3、电信终端产品配套用电源适配器/充电器(0807, 0907) 以上文章来源网络,如有涉及侵权,请联系删除!我们一直…

部署Alertmanager对prometheus监控检测飞书报警通知

告警效果 一、编写alertmanager.yml 创建个目录存放alertmanager.yml文件 mkdir -p /data/alertmanager vi alertmanager.ymlroute:group_by: [alertname]group_wait: 30sgroup_interval: 30srepeat_interval: 1mreceiver: web.hook receivers:- name: web.hookwebhook_confi…

独立站买家必知的支付方式优缺点_FP独立站卖家必知的安全收款方式

做独立站该怎么收款是卖家首要考虑,除去衡量费用是否有潜在费用,更重要的能否符合消费者的付款习惯,销售的产品不同市场不同,所用到的收款方式也不相同。那么独立站的支付方式都有哪些呢?他们各有什么优缺点&#xff1…

HarmonyOS学习路之开发篇—Java UI框架(StackLayout)

StackLayout StackLayout直接在屏幕上开辟出一块空白的区域,添加到这个布局中的视图都是以层叠的方式显示,而它会把这些视图默认放到这块区域的左上角,第一个添加到布局中的视图显示在最底层,最后一个被放在最顶层。上一层的视图…

硅晶片的清洗技术

引言 高质量的晶圆在晶体精度、成型质量和表面质量方面都很优越,所以增加LSIs(大规模集成电路)的集成密度需要更高质量的硅晶片,但我们必须考虑芯片尺寸和制造成本增加的问题。它们会导致互连故障和晶体缺陷,退化设备…