创建一个对象,实例化一个对象,把类实例化,都是一个意思。
属性也叫成员变量
属性的定义语法:访问修饰符 属性类型 属性名;(属性修饰符:控制属性的修饰范围。有四种访问修饰符:public,protected,默认,private。属性的定义类型可以是基本数据类型,也可以是引用数据类型。)
Cat cat1 = new Cat();
cat1.name cat1.age
代码具体实现:
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;
}
}
方法的调用
递归就是方法自己调用自己,每次调用时传入不同的变量。递归有助于解决复杂问题,并让代码变得简洁。
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;
}
}
OK,本篇文章就到此结束了,非常感谢你能看到这里,所以如果你觉得这篇文章对你有帮助的话,请点一个大大的赞,支持一下博主,若你觉得有什么问题或疑问,欢迎私信博主或在评论区指出~