属性和方法

类的属性

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

请添加图片描述

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

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

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

属性和方法_第1张图片

类的方法使用

方法是类或对象行为特征的抽象,用来完成某个功能操作。在某些语言中也称为函数或过 程。
将功能封装为方法的目的是,可以实现代码重用,减少冗余,简化代码
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张图片

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+"碗大米饭");
	}
}

递归方法
(图片里面有图片)
属性和方法_第3张图片

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

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

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);
        }
    }
}

你可能感兴趣的:(cy,java,开发语言)