导航:首页 > 编程语言 > java构造函数重载

java构造函数重载

发布时间:2023-02-14 10:46:35

java中方法重载和构造方法的区别

方法重载就是同一个类中,有多个方法,方法名是一样的,但是形参不一样,调用的时候,程序会根据传入的形参不同,而选择对应的方法。例如void a(){} 和 void a(String b)和void a(int b){}就是重载的三个方法。
构造方法也叫构造器,它也是一种方法,也可以重载,它的方法名与类名相同,不用写返回值,也不用加void。例如
class a{
public a(){}
}
另外构造器是在创建此类的对象的时候就会调用的,它的作用是初始化类的对象。 如果你没有为类写构造器,JAVA虚拟机自动为类添加一个无参数的构造器,只是你看不到。

② java中构造函数可被覆盖么

您好,提问者:
1、构造函数可以被重载。
2、构造函数不可以被覆盖(更不可覆盖父类的构造函数)。
3、构造函数不可以被重写,两个相同参数的构造函数是不允许的。

③ .Java中,什么是构造函数什么是构造函数重载什么是复制构造函数

当新对象被创建的时候,构造函数会被调用。每一个类都有构造函数。在程序员没有给类提供构造函数的情况下,java编译器会为这个类创建一个默认的构造函数。
java中构造函数重载和方法重载很相似。可以为一个类创建多个构造函数。每一个构造函数必须有它自己唯一的参数列表。
java不支持像c++中那样的复制构造函数,这个不同点是因为如果你不自己写构造函数的情况下,java不会创建默认的复制构造函数。

④ Java函数重载只适用于构造函数吗一般的类的方法可以重载吗

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。一般的方法完全可以重载。
同时注意和重写的区别,重写就是在子类中把父类本身有的方法重新写一遍,在方法名,参数列表,返回类型(包括子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写。

⑤ java重载构造函数,无参数的原方法必须写么

SubClass(int n) {
//super();
System.out.println("SubClass(" + n + ")");
this.n = n;
}
你在SubClass类里这样写的 super(); 这个意义是调用父类无参数的构造器,其实这一句你可以不用写。一般子类都会默认调用父类无参数的构造器,但是如果没给父类写一个对子类可见的默认无参数构造器的话,就必须在子类的构造器里显式调用父类的 含参数的构造器.
因为java创建对象,总是要先要从父类开始创建,因为只有父才有子嘛对不对?
你在代码里是没有创建它不错,但是JAVA的机制就是从父类创建开始,而且JAVA里任何一个父类都是继承自java.lang.Object的,它是所有类的基类,JAVA总是从创建这个类开始,然后再一个个向下建立子类

⑥ java中,方法重载和构造器重载一样吗

在使用new创建对象时,Java会根据提供的参数来决定构建哪一个构造器。比如在构建neZha时,我们提供了两个参数: 整数150和字符串"shit",这对应第二个构建方法的参数列表,所以Java会调用第二个构建方法。
在Java中,Java会同时根据方法名和参数列表来决定所要调用的方法,这叫做方法重载(method overloading)。构建方法可以进行重载,普通方法也可以重载,比如下面的breath()方法:

public class Test
{
public static void main(String[] args)
{
Human aPerson = new Human();
aPerson.breath(10);
}

}

class Human
{
/**
* breath() 1
*/
void breath()
{
System.out.println("hu...hu...");
}

/**
* breath() 2
*/
void breath(int rep)
{
int i;
for(i = 0; i < rep; i++) {
System.out.println("lu...lu...");
}
}

int height;
}

运行结果:
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...
lu...lu...

可以看到,由于在调用的时候提供了一个参数: 整数10,所以调用的是参数列表与之相符的第二个breath()方法。

⑦ Java中构造函数重载,一个构造函数是private一个是public,那这个类还可以new吗

答案是private修饰的构造函数是不可以new的 ;public修饰的构造函数是可以new 的
举例如下:
1、定义一个类Constructor 无参和有参构造分别public 、private修饰
package BaiKnows;
public class Constructor {
private int x=1;
public Constructor() {

System.out.println(" 无参是有构造函数");
}

private Constructor(int x) {
this.x=x;
System.out.println("带参共有构造函数 X="+x);
}

}

2、从新定义测试类:
package BaiKnows;
public class ConstructorTest {
public static void main(String[] args) {
Constructor con = new Constructor();//这是可以的
//Constructor con = new Constructor(20);这不可以
}
}

⑧ .Java中,什么是构造函数什么是构造函数重载什么是复制构造函数

创建对象的时候(一般都是new 一个对象,也有比如单例模式给一个方法,其实内部还是new),会调用构造方法,构造方法名和类名一致,默认的构造方式是无参数的方法,如public User(){}
再说下构造方法重载,重载的意思就是方法名相同,参数列表不同,如 public User(String id){ this.id = id;}
或者多个参数
public User(String id,String username){ this.id = id; this.username=username;}
java 不支持复制构造方法,就是没有复制构造方法这一说

⑨ JAVA中 构造函数可以重载 C#中呢

Java中的构造函数可以重载,C#中的也可以。它们都是面向对象语言,面向对象语言的特点就是封装,继承和多态,其中重载也属于多态的一个方面。

阅读全文

与java构造函数重载相关的资料

热点内容
未来最值得投资的加密货币 浏览:524
ascii码是编译的时候用吗 浏览:779
压缩机感应包可以通用吗 浏览:410
方舟服务器怎么发布到搜索列表 浏览:270
xml防反编译 浏览:239
数据传输加密系统技术方案 浏览:842
程序员没有准备去面试 浏览:4
51单片机usb鼠标 浏览:879
qq服务器的ip地址查询 浏览:112
java仿qq聊天 浏览:400
解压的ipa重新打包 浏览:142
程序员那么可爱vip版 浏览:239
程序员怎么升职 浏览:243
图形化命令按钮vb 浏览:987
vcu盘加密怎么设置 浏览:414
如何加密备份微信聊天记录 浏览:529
安卓手机如何模拟键盘 浏览:932
查看dns地址命令 浏览:768
android录屏工具 浏览:841
成都互动直播系统源码 浏览:955