Java入门 构造方法重载,构造方法作用域,this关键字的用法(第十六天)

构造方法重载:

方法重载:在同一个类中,出现多个方法,且多      
    个方  法的方法名相同,参数列表不同(参数的 
    个 数、 参数的类型、参数顺序)的现象。
          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;
	}

总结:

基本数据类型和引用数据类型在参数传递时的区别是什么?
   基本数据类型:传递值            引用数据类型:地址值

成员变量和局部变量有何区别?
   成员变量:定义在类中,方法外;有初始值           局部变量:定义方法内,没有初始值

方法重载有何特点?
同一个类中,多个方法的方法名不同,参数列表不同,与返回值类型,访问权限修饰符无关

构造方法有何作用? 如何定义?
作用:创建对象      定义:访问权限修饰符  类名(有参或无参){ }

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值