java的构造器方法、方法重载和引用传递

Java的构造器方法、方法重载与引用传递
一、 构造器方法
构造器方法是用来方便创建对象的,有无参构造器方法和含参构造器方法。像public Student(){ }这样“()”内不写变量的就是无参构造器方法,Student(String name){ name =n; }这样里面声明了一个变量属性name的就是属于含参构造器方法。但是无参构造器方法在被调用时并不是说没有返回值,它可以返回学生这个对象的内存地址。
在我们创建某个对象时一般的格式是:类名 变量名=new 类名();如创建一个学生对象:Student st=new Student();这里的Student()就是类Student的构造器方法。
每一个类中默认的都有一个默认的构造器方法。
public class Student {
//声明姓名属性
String name;
//声明学分属性
double score;
//定义学习这个方法
public void study(){
Score++;
System.out.println(name+"在学习中,学分加1,现在学分是"+Score);
}
}
在这个学生类中就蕴含了public Student(){ }这个默认的构造器方法。在创建对象调用时,它可以返回学生变量的名字和学分。若加上构造器方法,就可变为
public class Student {
//无参构造器方法
public Student(){
}
//构造时传入名字属性
public Student(String name,int Score){
name =n;
score =m;
}
//声明姓名属性
String name;
//声明学分属性
double score;
//定义学习这个方法
public void study(){
Score++;
System.out.println(name+"在学习中,学分加1,现在学分是"+Score);
}
}
二、 方法重载
在一个类中,两个或多个方法的方法名相同,但是他的参数个数、参数名或是参数的顺序不用的形式叫做方法重载,它是用来实现同一个对象以不同的形式来进行某件事的行动。如
//方法1
public void study(){
Score++;
System.out.println(name+"在学习中,学分加1,现在学分是"+Score);
}
//方法2
public void study(int hour,String a){
System.out.println(“没在学习中”);
}
//方法3
public void study(String a,int hour){
System.out.println(“不知在学什么”);
}
像这样的就属于方法的重载。在调用时,传入的参数和哪个方法定义时的参数相配,就调用对应的方法。如运行语句st.study(a,hour)时,就会调用方法2。
三、 引用传递
引用传递,就是指参数传递,传递的是对象的地址,对象的属性,而不是对象本身。代码:Student st=new Student();首先声明的是一个Student类变量名st,再将这个变量指向新建的对象Student,当我们在应用时就是这个变量名st。代码如下:
public class Student{
//定义属性,名字,学分
public String name;
public int score;
//定义方法,学习方法
public void study(Language l){
score--;
System.out.println(name+"学习了"+l.name);
}
}
在Main函数中调用,并传入一个学生对象,代码如下:
//定义程序的启动类,该类用来实例化Student类的对象
public class Main {
//定义程序的入口主函数
public static void main(String [] args){
//实例化一个计算机语言类的对象
Language l = new Language();
//实例化一个Student类的对象
Student st = new Student();
//设置st对象的姓名和学分
st.Name("张三");
st.Score(4);
//调用学习方法
stu2.study(l);
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值