精华内容
下载资源
问答
  • JAVA 构造函数及其重载

    千次阅读 2019-04-13 23:34:31
    以上给出了不同构造函数重载,不同构造的同一个类的实例化对象,在实例化对象时系统就会自动调用构造函数,给相应得值进行初始化赋值;不同的构造进行不同得初始化,不同的赋值 5、如果类中没有定义构造函数,...

    public class Student{
    public int stuId;
    public String stuName;
    public int stuAge;
    public int stuScore;
    public Student(){
    }
    public Student(int sId,String sName){
    stuId = sId;
    sName = stuName;
    }

    public Student(int sld,Sting sName,int sAge,int sScor){
    			stuId = sId;
    			sName = stuName;
    			sAge = stuAge;
    			sScore = stuScore;
    }
    

    }

    注意:
    1、对于构造方法而言 不能有返回值也不能用void对其进行定义
    2、名称必须与当前类名相同 ,但是可以重载(参数不同 (类型与个数不同))
    3、构造方法只有由系统在创建当前类时自动调用,不可由main函数中定义此类的对象进行调用
    4、需要那种初始化(哪种构造就用哪种构造建立对象,开辟空间)
    e.g. 1、Student stu1 = new Student();
    2、Student stu2 = new Student(201010110,“哈呵哈呵”);
    3、Student stu3 = new Student(1021222,“哈呵哈呵”,20,100);
    以上给出了不同构造函数的重载,不同构造的同一个类的实例化对象,在实例化对象时系统就会自动调用构造函数,给相应得值进行初始化赋值;不同的构造进行不同得初始化,不同的赋值
    5、如果类中没有定义构造函数,系统会在实例化对象时创建一个构造函数;但如果此类中有任何构造函数则系统不会创建任何得构造函数
    系统创建的构造函数为 :
    public 类名(){
    }

    展开全文
  • 众所周知,java没有办法设置默认参数,只有通过函数重载的性质来完成对默认参数的设置。 例如: 为了是的函数能最大形式的通用,会传入正则表达式,但在大部分情况下,使用默认的参数就够了,所以就对removeSpace...

    众所周知,java没有办法设置默认参数,只有通过函数的重载的性质来完成对默认参数的设置。
    例如:
    为了是的函数能最大形式的通用,会传入正则表达式,但在大部分情况下,使用默认的参数就够了,所以就对removeSpace函数进行了重载。

    	public static String removeSpace(String content){
    		String defeat = "([^。! :))])\n([^x00-xff])";
    		return removeSpace(content,defeat);
    	}
    	
    	public static String removeSpace(String content,String regex){
    		String regexStr = "";
    		if ( regex != null && regex.length() > 0){
    			regexStr = regex;
    		}
    		return content.replaceAll(regexStr, "$1$2");
    	}
    

    但是如果函数可以重载,那么构造方法可以进行重载吗?
    答案是可以的,但是不是类似的函数重载的方式,略有所区别。将使用this来代替构造方法。

    public class Article {
    	public Article(){
    		super();
    	}
    	
    	public Article(String content, String title) {
    		// TODO Auto-generated constructor stub
    		this(content,title,"");
    	}
    
    	public Article(String content, String title, String patternFile) {
    		// TODO Auto-generated constructor stub
    		init(patternFile);
    		this.title = title;
    		this.content = content;
    	}
    }
    
    展开全文
  • Java构造函数重载和方法重载

    千次阅读 2016-03-18 12:11:57
    通过一个小例子实现Java构造函数重载和方法重载

    源码

    class Tree {
    	int height;
    
    	Tree() {
    		prt("Planting a seeding");
    		height = 0;
    	}
    
    	Tree(int i) {
    		prt("Creating new Tree that is " + i + " feet tall");
    		height = i;
    	}
    
    	void info() {
    		prt("Tree is " + height + " feet tall");
    	}
    
    	void info(String s) {
    		prt(s + " : Tree is " + height + " feet tall");
    	}
    
    	private void prt(String s) {
    		System.out.println(s);
    	}
    }
    
    public class Overloading {
    
    	public static void main(String[] args) {
    		for (int i = 0; i < 2; i++) {
    			Tree t = new Tree(i);
    			// Overloaded method
    			t.info();
    			t.info("overloaded method");
    		}
    		// Overloaded constructor
    		new Tree();
    		new Tree(2);
    	}
    }

    运行结果


    构造函数重载:

    Tree 既可创建成一颗种子,不含任何自变量;亦可创建成生长在苗圃中的植物。为支持这种创建,共使用了
    两个构造函数,一个没有自变量(默认构造函数),另一个采用现
    成的高度。

    方法重载:
    我们也有可能希望通过多种途径调用info()方法。例如,假设我们有一条额外的消息想显示出来,就使用
    String 自变量;而假设没有其他话可说,就不使用。由于为显然相同的概念赋予了两个独立的名字,所以看
    起来可能有些古怪。幸运的是,方法过载允许我们为两者使用相同的名字。

    展开全文
  • 上一篇博客我们讲了类和对象的基本概念,接下来我们就要讲一下构造函数重载。想必大家对构造函数都有一定的认识,下面我们就来一起探讨探讨。一 、什么是构造函数 与类名相同 无返回值 对实例进行初始化 构造函数...

      上一篇博客我们讲了类和对象的基本概念,接下来我们就要讲一下构造函数和重载。想必大家对构造函数都有一定的认识,下面我们就来一起探讨探讨。


    一 、什么是构造函数

    • 与类名相同
    • 无返回值
    • 对实例进行初始化
    • 构造函数总是和new运算符一起被调用。
    • 构造函数可以有0个、1个或多个参数。
    public class Human {
        private String name;
        //这一个无参构造函数
        public Human(){
    
        }
        //这是一个有参构造函数
        public Human(String name){
            this.name = name;
        }
    }

    在Java的类中,如果不显示声明构造函数,JVM 会给该类一个默认的无参构造函数。当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。当然,一个类可以有多个构造函数,它们之间称为重载,下面我们就会讲到。下面我举个例子来说明构造函数的作用。

    public class Human {
        private String name;
        private int age;
        //我们在定义一个有参构造函数之后,默认无参构造函数就会被取代,因        此一般都会在该类中添加一个无参构造函数
        public Human(){
    
        }
        //重载一个构造函数,下面会讲到重载
        public Human(String name,int age){
            this.name = name;
            this.age = age;
        }
        public static void main(String[] args) {
            //下面我们用new关键字来创建一个对象
            Human human01 = new Human();
            Human human02 = new Human("孙丁",18);
            System.out.println("human01------->name:"+human01.name+"      age:"+human01.age);
            System.out.println("human02------->name:"+human02.name+"      age:"+human02.age);
        }
    }
    

    运行结果如下:

    human01------->name:null  age:0
    human02------->name:孙丁  age:18

    上述代码很好的说明我们通常通过有参构造函数来进行对象的初始化,而不是创建对象,创建对象是用new来完成的。


    二 、方法的重载


    重载的特点:

    1. 同一个类中多个方法有相同的名字,不同的参数列表,这种情况称为方法重载。
    2. 当重载方法被调用时,Java编译器根据参数的类型和数量来确定实际调用哪个重载方法的版本。
    3. 方法重载不考虑方法的返回类型。
    4. 方法重载是Java实现面向对象的多态性机制的一种方式。
    public class TestOverload {
        public void run(){
            System.out.println("test.run():没有参数的方法");
        }
        public void run(int a){
            System.out.println("test.run(1):一个参数的方法");
        }
        public void run(int a,String b){
            System.out.println("test.run(1,b):二个参数的方法");
        }
        public void run(String a,int b){
            System.out.println("test.run(a,1)参数类型顺序不同也是可以的");
        }
        /* 这种重载是错误的,因为重载和返回类型没有关系
        public int run(String a,int b){
            System.out.println("和返回值类型没有关系");
        }
        */
        public static void main(String[] args) {
            TestOverload test = new TestOverload();
            test.run();
            test.run(1);
            test.run(1, "b");
            test.run("a",1);
        }
    }

    运行结果:

    test.run():没有参数的方法
    test.run(1):一个参数的方法
    test.run(1,b):二个参数的方法
    test.run(a,1)参数类型顺序不同也是可以的
    

    三 、总结


      构造函数和重载的知识点很少,而且很容易理解,看完上面的内容,大家应该有了充分的认识了,接下来我准备讲解this和super关键字,希望大家多多关注。

    展开全文
  • Java构造函数重载

    千次阅读 2017-09-06 22:39:06
    package one;...当开发人员没有写任何构造函数是,jvw会自动生成一个没有参数的构造函数 4.当开发人员手动写了任意一个构造函数后,Jvw就不会在生成不在参数的构造函数了 * */ public class TtstNodd
  • java 构造函数 重载 递归调用

    千次阅读 2017-11-28 11:24:32
    1)有人写了个很好的初始化属性的构造函数,而你仅仅想要在其中添加另一些自己新建属性的初始化,这样在一个构造函数中调用另外一个构造函数,可以避免重复的代码量,减少工作量; 2)在一个构造函数中调用另外一...
  • Java构造函数

    千次阅读 多人点赞 2018-11-22 13:06:46
    Java构造函数创建java构造函数的规则Java构造函数的类型没参数的构造函数 (默认函数的构造类型)Java参数化构造函数Java 构造函数重载java的构造函数和方法之间的区别Q)构造函数没有返回值 ?Q)可以构造函数执行...
  • *构造函数重载 * *创建 Employee 类,属性:姓名,年龄,性别,工资。 *方法:显示对象的属性值,工作。 *要求属性要封装。 *创建 3 个对象。 *构造函数重载。 * * *方法以及方法重载 * 1、方法简称“类...
  • java构造函数重载

    千次阅读 2017-11-11 19:08:59
    注意:任何一个类都有构造函数,只是有时候不写 特殊点: 1 、不写也会存在  2 、作用:用于构造当前类的对象、初始化当前对象的一些基本属性 3、有没有返回值?执行时间:创建当前类对象的时候,有返回值...
  • java 重载构造函数

    千次阅读 2018-03-05 19:40:06
    Java中this调用重载构造函数 在构造器中可以调用本类的其他重载构造器,不使用构造器名称来调用另一个构造器,而是应该使用Java特定的this(….)来调用。 this(….)方法必须出现在构造器中的第一行,用来调用其他...
  • java构造函数

    2016-02-21 00:23:38
    java构造函数
  • Java构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。 Java不支持像C++那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,Java...
  • 1、函数的一般形式 //访问权限 返回值类型 函数名 ...2、构造函数  1.函数名与类名完全一致,那么这个函数就是构造函数。  2.构造函数没有返回值。  3.构造函数的作用是用来初始化。
  • 定义函数的格式: 修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,…) ...在java中只能用一个关键字来表示这种情况。关键字是:void. 总结:没有具体返回值时,返回值类型用void来表示...
  • 当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有提供构造函数...Java中的构造函数重载和方法重载很类似,可以为一个类创建多个构造函数。每一个构造函数都必须有它自己唯一的参数列表...
  • 什么是构造函数?什么是构造函数重载? 当新对象被创建的时候,构造函数会被调用。...Java构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。 ...
  • Java 构造函数的详解

    万次阅读 多人点赞 2016-07-14 14:54:44
    我们人出生的时候,有些人一出生之后再起名字的,但是有些人一旦出生就已经起好名字的。那么我们在java里面怎么在对象一旦...而构造函数定义的是,对象在调用功能之前,在建立时,应该具备的一些内容。也就是对象的初
  • 对于Date类中的构造函数,使用重载的方法,可以选择3中方式输出:1.MM/XX/DDDD 2.January 7 1989 3.37 1989(前一个参数为一年中的第37天) 使用s.equal("m")比较字符串。
  • 构造函数的名字和类一样,并不有任何返回 值,不用void说明。他的功能就是在分配空间时设置初始值。 2.函数的重载是类似功能的多个函数,名字一样,但参数不一样,返回值不一样。使在调用函数时更方便。参数...
  • 构造函数重载 在创建类的对象时进行初始化工作,不但可以为对象属性赋初值,还可以在对象初始化过程中进行必要的检查和处理。 当一个够找函数需要调用另一个够找函数时,应使用关键字this,同时这个调用语句应该...
  • kotlin 构造函数重载 构造函数重载 (Constructor Overloading) A Kotlin class has a primary constructor and one or more secondary constructors. When a class has more than one constructor, it will be known...
  • 主要介绍了Java 重载、重写、构造函数的实例详解的相关资料,希望通过本文大家理解掌握java 面向对象的方法,需要的朋友可以参考下
  • Java构造函数

    2015-07-30 14:56:17
    Java构造函数链,首先对类的构造函数明确几点: 1.类的构造函数可以重载 2.类的构造函数访问修饰符不一定是public,也可以为private等其他访问修饰符 3.类的构造函数无返回值 4.类的构造函数名与类名保持...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 107,020
精华内容 42,808
关键字:

java构造函数能重载吗

java 订阅