美文网首页一起前行的全栈
Java的方法重构与函数重载

Java的方法重构与函数重载

作者: CCCA | 来源:发表于2016-04-08 22:41 被阅读264次

Java语言的方法重载

方法的重载有3个条件
1.函数位于同一类下面;
2.方法名必须一样;
3.方法的参数列表不一样;
下面该类中定义了3个方法,但是3个方法的参数列表不一样;


屏幕快照 2016-04-08 下午10.13.33.png

在主函数中调用这个类:


屏幕快照 2016-04-08 下午10.17.15.png
看看运行结果:
屏幕快照 2016-04-08 下午10.20.09.png
从控制台的输出可以看出,我在主函数中实例化一个student对象,分别调用了这个对象的3中方法,由于3个方法的参数不一样,所以可以看到输出的结果也不一样;

构造函数

构造函数的使用:
定义一个Sutdent类,类里面定义两个属性:
class Student {
String name;
int age;
}
主函数中实例化两个对象:
public class Test {
/**
* @param args
* @author weasleyqi
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Student st = new Student();
st.name = "张三";
st.age = 10;

        Student st2 = new Student();
        st2.name = "李四";
        st2.age = 20;
}

}
从主函数可以看出,此时的Student对象的属性比较少,创建的实例也比较少,如果属性多再创建多个实例的话,这个代码的量就很大,这时候,我们可以添加一个带参数的构造函数,如下:
class Student {
Student(String n, int a)
{
name = n;
age = a;
}
String name;
int age;
}
主函数的代码如下:
public class Test {

/**
 * @param args
 * @author weasleyqi
 */
public static void main(String[] args) {
    // TODO Auto-generated method stub
        Student st = new Student("张三",10);
        Student st2 = new Student("李四",20);
        System.out.println("st的name:" + st.name +", st的age:" + st.age);
        System.out.println("st2的name:" + st2.name +", st的age:" + st2.age);
}

}
此时系统运行的结果如图:


屏幕快照 2016-04-08 下午10.20.09.png

从运行结果可以看出,我们在实例化Student对象的时候,调用了带参数的构造函数,节省了很多的代码,要注意:如果我们在Student类中定义了一个带参数的构造函数,但是没有写无参的构造函数,这个时候我们在主函数中就不能定义 Student st = new Student();如果在Student类中加上无参的构造函数就可以实现这样的实例化。

相关文章

  • Java的方法重构与函数重载

    Java语言的方法重载 方法的重载有3个条件1.函数位于同一类下面;2.方法名必须一样;3.方法的参数列表不一样;...

  • 02Dart:并不支持构造函数的重载

    Java 代码中,使用了重载构造函数的方法,该方法在 Java 中很普遍,重载的构造函数和之前的构造函数具有相同的...

  • java05(构造函数重载与构造代码块)

    构造函数的重载: 构造函数的命名就是类名 java构造函数可以重载很多次。构造方法重载具体好处就是:扔进来...

  • 第31节:Java基础-类与对象

    前言 Java基础-类与对象,方法的重载,构造方法的重载,static关键字,main()方法,this关键字,包...

  • 2018-09-10

    Java方法的应用 方法声明、方法调用、方法重载、方法返回值、形参、实参 函数 == 方法 方法:主要是将功能的实...

  • Kotlin中@JvmOverloads 注解

    含义:方法的重载,类似于在java中对多个构造函数、多个方法的重载 可能还是云里雾里,直接上代码,代码解释一切: ...

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • 方法的重载

    方法的重载与C语言中函数的重载类似,是名称相同的不同方法,即“一名多用” 构成方法重载的条件:形参的类型、个数、顺...

  • C#多态的表现-方法重载,方法重写以及密封类的特点

    方法重载 方法重载:构造函数就属于特殊的方法重载 方法重载:是指同一个类中相同方法的不同行为 方法重载的特点: 1...

  • C++之函数重载(下)

    重载与指针 函数重载遇上函数指针将重载函数名赋值给函数指针时根据重载规则挑选与函数指针参数列表一致的侯选者严格匹配...

网友评论

    本文标题:Java的方法重构与函数重载

    本文链接:https://www.haomeiwen.com/subject/lkgvlttx.html