构造方法重载:
方法重载:在同一个类中,出现多个方法,且多
个方 法的方法名相同,参数列表不同(参数的
个 数、 参数的类型、参数顺序)的现象。
1)在同一个类中
2)方法名相同
3)参数列表不同
4)与返回值类型、访问权限修饰符无关
代码:
package HeavyLoad.demo;
public class Dog {
//重载
//定义普通方法
public int sum(int num1,int num2){
return num1+num2;
}
public double sum(double num1,double num2){
return num1+num2;
}
public double sum(int num1,double num2){
return num1+num2;
}
public double sum(double num1,int num2){
return num1+num2;
}
public int sum(int num1,int num2,int num3){
return num1+num2+num3;
}
}
}
//调用test方法
public void test(){//void是返回值为null的意思(无返回值)
System.out.println("test()");
}
//demo调用test方法
public void demo(){
this.test();//返回test方法
}
变量作用域:
变量作用域:变量按照其所在的位置,可以分为成员变量(全局变量)、局部变量两大类
成员变量:
作用类中其它结构外的变量,
成员变量的作用范围是整个类中都可以使用(在静态方法中不能使用非静态的成员变量, 可以使用静态的成员变量)
成员变量系统会给它赋值一个默认值
在同一个类中,不能有同名的全局变量,全局变量和局部变量可以同名,在使用的时候,局部变量具有更高的优先级
局部变量:
作用方法中或者其它结构内的变量,
局部变量的作用范围只限于定义局部变量的结构中
局部变量没有默认值,在使用之前要进行赋值,否则会报错
在不同的方法内(或者其它结构内)可以有相同名称的局部变量,在同一个方法或者结构内不能有同名的局部变量
结构:
public class AutoLion{
变量1 类型 变量1;//成员变量
变量2 类型 变量2;//成员变量
变量3 类型 变量3;//成员变量
public 返回类型 方法1 (){
变量4 类型 变量4;//局部变量
}
public 返回类型 方法1 (){
变量5 类型 变量5;//局部变量
}
}
//局部变量在使用之前一定要赋值
this关键字的用法:
this:当前谁在用它,它就表示谁
//
package HeavyLoad.demo;
public class Dog {
//定义属性
String name;
int age;
String gender;
String color;
String brand;
String weight;
//无参
public Dog(){
}
//有参构造
public Dog(String name, int age, String gender) {
this();//表示调用Dog类的无参构造方法
//注意:在一个构造方法里面使用this关键字去调用另外一个构造方法必须写在第一行
this.name = name;
this.age = age;
this.gender = gender;
}
//有参构造
public Dog(String name, int age, String gender, String color, String brand,
String weight) {
super();
this.name = name;
this.age = age;
this.gender = gender;
this.color = color;
this.brand = brand;
this.weight = weight;
}
总结:
基本数据类型和引用数据类型在参数传递时的区别是什么?
基本数据类型:传递值 引用数据类型:地址值
成员变量和局部变量有何区别?
成员变量:定义在类中,方法外;有初始值 局部变量:定义方法内,没有初始值
方法重载有何特点?
同一个类中,多个方法的方法名不同,参数列表不同,与返回值类型,访问权限修饰符无关
构造方法有何作用? 如何定义?
作用:创建对象 定义:访问权限修饰符 类名(有参或无参){ }