`
xiaozhouzhou
  • 浏览: 13356 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

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);
}
}





分享到:
评论

相关推荐

    Java开发技术大全(500个源代码).

    listConstructors.java 利用反射机制获取构造器列表 listFields.java 利用反射机制获取成员属性列表 listMethods.java 利用反射机制获取成员方法列表 loadClass.java 动态装载一个类 Shape.java 一个用于测试的...

    疯狂JAVA讲义

    6.8.3 枚举类的属性、方法和构造器 220 6.8.4 实现接口的枚举类 223 6.8.5 包含抽象方法的枚举类 224 6.9 对象与垃圾回收 225 6.9.1 对象在内存中的状态 226 6.9.2 强制垃圾回收 227 6.9.3 finalize方法 228 ...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本...这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() ...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    7.9.4 在构造方法中调用构造方法 184 7.10 方法大汇总 185 7.10.1 本例中用到的类 186 7.10.2 使用例程将本章的知识穿起来 189 7.11 小结:多方位理解Java方法 191 7.12 习题 192 第8章 Java中的包(Package)...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    7.9.4 在构造方法中调用构造方法 184 7.10 方法大汇总 185 7.10.1 本例中用到的类 186 7.10.2 使用例程将本章的知识穿起来 189 7.11 小结:多方位理解Java方法 191 7.12 习题 192 第8章 Java中的包(Package)...

    Java免费学之画板入门源码和视频

    前言:画板小程序是对之前Java中的类,继承,方法重载以及接口等知识的综合应用; 建议大家先去把相关知识看一下 思路: 1.创建窗体 2.在窗体上安装鼠标监听器,对鼠标动作进行监听; 3.拿到鼠标在窗体上按下...

    Java 语言基础 —— 非常符合中国人习惯的Java基础教程手册

    对象的使用包括引用对象的成员变量和方法,通过运算符·可以实现对变量的访问和方法的调 用,变量和方法可以通过设定一定的访问权限(见下面的例子)来允许或禁止其它对象对它的 访问。 我们先定义一个类 Point。 例子...

    java笔试题

    18、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 19、String和StringBuilder、StringBuffer的区别? 20、重载(Overload)和...

    java 面试题 总结

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    【04-面向对象(上)】

    •构造器的重载和方法的重载一样,都是方法名相同,形参列表不相同。 •在构造器中可通过this来调用另外一个重载的构造器。 继承的特点 •Java通过关键字extends来实现,实现继承的类称为子类,被继承的...

    AIC的Java课程1-6章

     掌握定义方法(声明方法)和调用方法,通过参数和返回值传递数据。  理解实际参数与形式参数以及参数类型的提升(隐式转型)。  掌握方法重载(overload)的基本要求。  区别和掌握按值传递与按引用...

    Java入门教程(微学苑)-part1

    4.10 Java static关键字以及Java静态变量和静态方法 72 4.11 static 的内存分配 73 4.12 静态方法 74 4.13 静态初始器(静态块) 75 4.14 静态导入 75 4.15 Java final关键字:阻止继承和多态 76 4.16 类与类之间的...

    JAVA语言程序设计【高清版】.pdf

    64 5.2.1 构造方法及其重载 64 5.2.2 默认的构造方法 66 5.3 定义方法 67 5.3.1 方法定义格式 68 5.3.2 按值传递 71 5.4 类的继承 72 5.4.1 继承的定义 73 5.4.2 多态性与转换对象 74 5.5 继续讨论...

    21天学通Java-由浅入深

    191 10.1.1 构造器的使用 191 10.1.2 被修饰的构造器 193 10.1.3 构造器方法与普通方法的区别 196 10.2 如何实例化一个对象 197 10.3 构造器的使用 199 10.3.1 构造器的调用 199 10.3.2 构造器重载 202 10.3.3 父子...

    java基础案例与开发详解案例源码全

    5.6.8 方法参数及其传递问题144 5.6.9 理解main方法语法及命令行参数147 5.6.1 0递归算法147 5.7 this关键字148 5.8 JavaBean149 5.9 包150 5.9.1 为什么需要包?150 5.9.2 如何创建包151 5.9.3 编译并生成包:151 ...

    java面试800题

    Q0043 java相关概念 "static:静态,无需实例化,可直接引用,全局只有一份copy,修饰变量和方法 final:最终的,不可继承、不可修改,修饰变量、方法、类 volatile:volatile变量表示保证它必须是与主内存保持一致,...

    超级有影响力霸气的Java面试题大全文档

    但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...

    Java面试宝典2020修订版V1.0.1.doc

    14、构造器可不可以被重载或重写? 16 15、Java中有没有多继承? 16 16、抽象类和接口的区别? 17 17、java中实现多态的机制是什么? 17 19、String和StringBuffer的区别?StringBuffer和StringBuilder区别? 17 21...

Global site tag (gtag.js) - Google Analytics