05-方法重载递归初始对象
- 方法的重载: —> 方法重载只和形式参数有关
- 方法在同一个类
- 方法的名称完全相同(在本例中add)
- 形式参数不同(类型,个数,顺序)
- 与方法的返回值类型和访问修饰符无关
public class Demo02{
public static void main(String[] args){
//方法的调用
System.out.println(add(3,4)); //实际参数
System.out.println(add(38.0,4.1)); //实际参数
System.out.println("你好呀");
System.out.pritnln(12);
System.out.pritnln(12.232);
System.out.pritnln('男');
}
public static int add(int a ,int b){ //计算两个整数之间的加法运算
int s = a+b;
return s;
}
public static double add(double a ,double b){ //计算两个小数点之间的加法运算
return a+b;
}
}
- 递归: 计算n的阶乘
public class Demo03{
public static void main(String [] args){
System.out.println(fun(4));
}
public static int fun(int n){ //4!=
int sum = 1;
for(int i =1 ;i<=n ;i++){
sum*=i; //相当于sum=sum*i;
}
return sum;
}
/** 递归: 自己调自己
4!=1*2*3*4
*/
public static int fun1(int n){
if(n==1||n==0){
return 1;
}else{
return n*fun1(n-1);
}
}
}
-
类和对象
- 对象: 描述客观事务的一个实体,由一组属性和方法来构成的
- 类: 对对象的抽象,抽的是象的部分 (类别, 种类)
-
面向对象:
- 面向对象: 把构成程序的事务分解成各个对象(找参与者)
- 面向过程: 分析出解决问题所需的步骤,按照这个步骤一步一步去实现
-
对象中的属性: 一个对象的各种特征(基本信息)名词,每个对象的每个属性都拥有特定值,定义在类中,称之为成员变量/类变量/成员属性 ,作用于整个类体
- 格式: [修饰符] 属性类型 属性名 = [默认值]; []: 如果有就写,如果没有也可以不写
-
对象中的方法: 对象所执行的一些操作 (行为)动词
-
定义格式: [修饰符] 方法的返回值类型 方法名(){
java语句
}
-
-
java中方法的参数传递方式: 值传递,无论是基本数据类型(值的副本)和引用数据类型(值的引用)
- 类的对象: 类型
- 编写类模板:
- 使用class关键字,编写一个类型模板
- 编写类的属性 //类中 main方法外
- 编写类的方法
- 使用模板
- 通过类创建类的实例
- 使用对象给属性赋值
public class Person {
//[1]编写类的属性, 格式:[修饰符] 属性类型 属性名 = [默认值];
String name ; //声明一个成员变量name,默认值是null;
int age ; //声明一个成员变量age,默认值是0
char gender ; //明一个成员变量gender,默认值是空格
//[2]编写方法
public void info(){
System.out.println("我是"+name+",今年"+age+",是个"+gender+"孩子.");
}
public static void main(String[] args) {
//[1]创建对象 类名 对象名 = new 类名();
Person p1 = new Person();
//[2]使用对象给属性赋值
p1.name="满村";
p1.age = 12;
p1.gender='男';
//[3]使用方法 -->对象名.方法名
p1.info();
}
}