Java--类与对象

Java--类与对象_第1张图片

创建一个对象,实例化一个对象,把类实例化,都是一个意思。

属性

属性也叫成员变量

属性的定义语法:访问修饰符 属性类型 属性名;(属性修饰符:控制属性的修饰范围。有四种访问修饰符:public,protected,默认,private。属性的定义类型可以是基本数据类型,也可以是引用数据类型。)

创建对象访问属性

Cat cat1 = new Cat();

cat1.name    cat1.age

方法

Java--类与对象_第2张图片

Java--类与对象_第3张图片

代码具体实现:

public class Main {
	public static void main(String[] args) {

		Cat cat1 = new Cat();//创建一个对象 / 实例化一个对象 / 把类实例化
		cat1.speak();//调用方法
		
		//调用getSum方法,同时num1 = 10,num2 = 20
		//把方法getSum返回的值赋给out
		int out = cat1.getSum(10, 20);
		System.out.println(out);

	}
}

class Cat {			//猫类
	//属性/成员变量
	String name;		
	int age;

	//方法
	public void speak() {
		System.out.println("我要吃饭");
	}
	
	//方法
	//int:返回一个整型
	//(int num1,int num2):两个形参,接收用户传入的两个参数
	public int getSum(int num1,int num2) {
		int sum = num1 + num2;
		return sum;
	}
}

方法的调用

Java--类与对象_第4张图片

方法递归调用

        递归就是方法自己调用自己,每次调用时传入不同的变量。递归有助于解决复杂问题,并让代码变得简洁。

递归斐波那契

public class Main {
    public static void main(String[] args) {
        T input = new T();
        int out = input.fei(7);
        System.out.println(out);
    }
}


class T {
    public int fei(int n){
        if (n >= 1){
            if (n == 1 || n == 2){
                return 1;
            }else{
                return fei(n - 1) + fei(n - 2);
            }
        }else{
            System.out.println("请输入大于1的数");
            return -1;
        }
    }
}

方法重载

        Java中允许同一个类中,多个同名方法的存在,但要求形参列表不一致!

重载的好处:

        减轻了起名的麻烦

        减轻了记名的麻烦

使用细节:方法名必须相同,形参列表必须不同(形参类型或个数或顺序,至少有一样不同,参数名无要求)返回类型无要求。

public class Main {
	public static void main(String[] args) {
		MyCalculator input = new MyCalculator();
		
		int out1 = input.calculate(2, 4);
		double out2 = input.calculate(2, 4.1);
		double out3 = input.calculate(2.1, 4);
		int out4 = input.calculate(2, 4, 6);
		
		System.out.println(out1);
		System.out.println(out2);
		System.out.println(out3);
		System.out.println(out4);
	}

}


class MyCalculator {
	public int calculate(int n1,int n2) {
		return n1 + n2;
	}
	
	
	public double calculate(int n1,double n2) {
		return n1 + n2;
	}
	
	public double calculate(double n2,int n1) {
		return n1 + n2;
	}
	
	public int calculate(int n1,int n2,int n3) {
		return n1 + n2 + n3;
	}
}

可变参数

        Java中允许将同一个类中多个同名同功能参数个数不同的方法,封装成一个方法。

 注意事项和使用细节:

        可变参数的实参可以是0个或任意多个。

        可变参数的实参可以为数组。

        可变参数的本质就是数组。

        一个形参列表中只能出现一个可变参数。

public class Main {
	public static void main(String[] args) {
		KeBianCanShu k = new KeBianCanShu();
		int out = k.test(1, 3, 5);
		System.out.println(out);
	}
}

class KeBianCanShu {
	// int...表示接收的是可变参数,类型是int,即可以接收多个int(0~多)。
	// 使用可变参数时,可以当做数组来使用,即nums可以当做数组来用。
	public int test(int... nums) {
		int res = 0;
		for (int i = 0; i < nums.length; i++) {
			res += nums[i];
		}
		return res;
	}
}

Ending: 

        OK,本篇文章就到此结束了,非常感谢你能看到这里,所以如果你觉得这篇文章对你有帮助的话,请点一个大大的赞,支持一下博主,若你觉得有什么问题或疑问,欢迎私信博主或在评论区指出~

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