构造方法与值传递

1.类的组成

 (1)类的属性
 (2)类的方法
       方法:普通方法,构造方法
  普通方法:类的行为方式
  eg:public void study(){}
     public void play(){}

2.构造方法(构造器,构造函数)

 格式:public 类名(数据类型 参数,...){}

 用途:
 (1)实例化对象
      
 例如:
 public class Student{


 private String name;
 
 //构造方法
 public Student(String n){

 name=n;

 }

 }


 public class Manager{

 public static void main(String []args){
 
 //实例化一个Student类对象
 Student stu=new Student("张三");
 stu.study(5);

 }

 }

 (2)
 属性赋初值
 
 Student stu=new Student("张三");

       stu对象刚开始时存放在计算机的内存中,具体位置为内存的栈中,而new关键字
   则开辟新的内存空间具体为堆,堆中存放了对象的属性方法,虽然属性和方法不被返回,
   但是,new关键字会返回一个首地址给对象.

 (3)普通方法与构造方法的区别:

 两者的格式不同,普通方法一般要写返回值的类型,而构造方法格式中不需要返回值类型;

 //普通方法
 public void study(){}

 //构造方法
 public Student(){} 
 
 普通方法是对象的行为,而构造方法的目的是为了实例化一个对象;

3.方法重载

条件:
 方法名必须一致

      public void pk(){}

 public void pk(Hero h){} 

区别:
 所带参数的数据类型,参数个数,参数的顺序必须要有一个不同

注意:方法法重载不仅适用于普通方法同样也适用于构造方法,一个行为支配多个对象的时候,这时
      需要使用方法的重载
  
4.this关键字

(1)用途:
 1>用于区分参数与属性

private String name;

public String setName(String name){

 this.name=name;
}
  
public void getName(){

 return name;
}  


 2>调用构造方法


//构造方法
public Student(){

 this("lol");
}

public Student(String name){

 this.name=name;

}


//创建student类对象
Student stu=new Student();

//创建Student类对象
Student stu1=new Student("dota");

当调用该构造方法的时候,程序的结果是"stu"会显示"lol",因此,可以看出this();可以调用构造方法


4.值传递

(1)java中的数据类型
 
 1>基本数据类型:byte
   int
   short
   long
   float
   double
   char    char a='c';  char a='杰'; char a='bc'报错 
                        boolean (true 与false)
 
 2>引用数据类型 对象类型 类类型 复杂的数据类型 自定义类型
   所有的class类型,interface ,abstract class 以及数组类型都属于该类型

(2)适用的数据类型数组
基本数据类型


(3)传递的内容和如何传递
一般是采用直接赋值操作


5.引用传递

(1)适用的数据类型
引用数据类型(类类型,抽象类,接口,数组)

(2)传递内容和如何传递
用于对象之间的传递,一般是在实例化对象的时候,new关键字在栈中开辟空间,构造方法虽然无返回值数据类型,
但是可以返回一个首地址给对象,
eg:
Student stu = new Student();
stu1.setName("张三");
stu2.setName("李四");
stu2=stu1;
stu2.study();
System.out.println(name+"在学习中!"); 
此程序运行的结果:张三在学习中!

总结:一般在有对象存在的地方都会用到引用传递.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值