导航:首页 > 编程语言 > java构造器的作用

java构造器的作用

发布时间:2022-03-15 16:20:32

‘壹’ java中构造函数的作用是什么

当你new一个对象时,就是调用的构造函数,用来初始化成员变量的,希望对你有帮助

‘贰’ java的构造器是怎么定义的有什么作用

创建和管理 构造函数的

‘叁’ java中的构造函数有什么用用它有什么好处在什么地方用

构造函数是类的一个特殊方法,这个方法用来生成实例时由系统自动调用,程序员无法直接调用。构造函数方法名同类名相同且参数为空。子类继承父类后默认继承父类的构造函数,即:子类存在隐含方法:super(),如果子类重写构造函数则子类也隐含调用super()。
如下例:

例一:
package sample;
public class A{
A(){
System.out.println("主类构造函数调用");
}
public static void main(String args[]){
A g=new A();
subA s=new subA();
}

}
class subA extends A{

}
执行结果为:
主类构造函数调用
主类构造函数调用
本例中子类subA中没有任何方法,所以隐含调用super(),super()指向A()。
例二:
package sample;
public class A{
A(){
System.out.println("主类构造函数调用");
}
public static void main(String args[]){
A g=new A();
subA s=new subA();
}

}
class subA extends A{
public subA(){
}
}
执行结果为:
主类构造函数调用
主类构造函数调用
本例中子类subA只有一个空方法suba()中没有任何方法,所以也隐含调用super(),super()指向A()。
例三:
package sample;
public class A{
A(){
System.out.println("主类构造函数调用");
}
public static void main(String args[]){
A g=new A();
subA s=new subA();
}

}
class subA extends A{
public subA(){
System.out.println("子类构造函数调用");
}
}
执行结果为:
主类构造函数调用
主类构造函数调用
子类构造函数调用
本例中子类subA的方法subA()虽然后输出但同上例中相同都为构造函数,所以也隐含调用super(),super()指向A()。

‘肆’ java空的构造方法有什么作用

构造方法和类名一致
class
test{
test(){
}
test(int
i){
}
}
test
t
=
new
test();
test
t
=
new
test(2);
这个两个方法都是构造方法,只是一个没有参数,一个有参数
构造方法可以重载,如果你写的程序没有构造方法的话,那程序会添加一个默认的没有参数的空方法为构造方法
构造方法在使用new关键字创建类的实例的时候被调用
"但是里面的方法可以直接用",
这半句话我也没看明白,不知道你是什么意思

‘伍’ java类中的构造函数有什么作用

什么是构造函数,问的好。
开始的时候我也不理解为什么要构造函数。因为那时候的设计思想还停留在面向过程编程。即我要干什么事,这件事有几个步骤,然后我决定怎么干。
面向对象不是这么直接简单,它的设计思想就是要代码重用。即我以前干过类似的事,那么我找出以前可以用到的代码,完成一部分。以前没有的我重新写。这样就有了类。
回到你提的问题。有了类,就是有了可以重用的代码,但是我怎么产生这个对象呢。必须要实例化这个类(当然这不是唯一产生对象的途径,比如单例模式,但本质上说所有途径都是一样的)。那么就要用到构造函数。即告诉程序我现在要实例化一个对象了,你给我马上分配内存。将内存的首地址赋给我指定的类对象。而且有时候你需要传递参数到函数里面,有了构造函数就方便了,构造函数可以有无数个。当然,传递参数到到对象里面也可以其它方法,比如直接赋一个值给成员变量,举例:
class point2{
int x,y;

point2(){
}

point2(int a,int b){//构造函数;含参的构造函数;构造方法必须要和类名一致
//且没有返回值
x=a;
y=b;
}
void output(){
System.out.println(x);
System.out.println(y);
}
public static void main(String args[]){
point2 pt=new point2();//实例化对象,这时候x,y没有赋值,默认初始值为0;
pt.output();
pt.x=3;pt.y=3;
pt.output();
}
}

‘陆’ JAVA构造器:什么是构造器它的作用是什么

jvm创建Java对象时候需要调用构造器,默认是不带参数的.在构造器中,你可以让jvm帮你初始化一些参数或者执行一系列的动作. 它是对象创建中执行的函数,及第一个被执行的方法

‘柒’ java中什么是构造方法及其作用

无意中翻到这条提问,看了很多回答,发现歧义较重,在这里解答一下,为了避免后边来的朋友们踩雷
新手学习Java在构造方法这里很容易踩雷,构造方法是用来初始化的,这句勉强没错,可构造方法是用来创建对象的,这句就错了,实际上,在构造方法执行之前,类的内存空间已经开辟完成了,意思就是说对象已经创建了,这步是由new关键字来完成的,而构造方法的作用是给类中的变量进行初始化赋值
假设,假设构造方法是用来创建对象用的,就无法解释抽象类中为什么允许构造方法的存在,抽象类无法实例化,不能被创建,但是抽象类中允许构造方法的存在,举例从侧面证明一下:
abstract class Animal{
String name;
public Animal() {
System.out.println("抽象父类的无参构造");
}
abstract void eat();
}
class Dog extends Animal{
public Dog() {
super();
System.out.println("子类的无参构造");
}
@Override
void eat(){

}
}
public class Test {
public static void main(String[] args) {
Dog d = new Dog();
System.out.println(d.name);
}
}
随手敲的很简陋的一段代码,不要在意格式上的不严谨,领会精神,这段代码执行后的结果为:
抽象父类的无参构造
子类的无参构造
null

当执行Dog d = new Dog()这句代码时,大致会分两步,一是加载类,开辟类的内存空间,这是由new完成的,第二步执行构造方法,为类中的变量初始化赋值,在执行Dog的无参构造时,系统会默认调用父类的无参构造,也就是super(),super关键字是对该类的父类进行的引用,它并不是一个对象,这也是个难点,感兴趣的可以去查一下,而super()这句代码可以简单理解为调用这个类的父类的无参构造
在上述代码中,父类Animal是一个抽象类,而抽象类不可被实例化,如果构造方法的作用是创建对象,在这一步上逻辑就无法自洽,而实际情况是:抽象类执行了构造方法,但却没有创建对象,同时成员变量name也有了初始值null

‘捌’ 关于Java构造器的作用

java里面的构造器是一个与类同名的特殊的方法,称为构造方法,在创建类的对象时使用,用于对象初始化。

设置器是一个针对类的某个私有属性成员属性的有特殊命名要求的方法,发XXX属性,应为setXXX。主要提供对私有属性的改变,提供一个设置变量值的途径。

访问器是一个针对类的某个私有属性成员属性的有特殊命名要求的方法,如对XXX属性,应为getXXX。主要提供对私有属性的值,提供一个获得变量值的途径。

JAVA的类的这些方面体现面向对象的封装性。

大体如此,再详细地了解,要去看些书或资料。
这样可以么?

阅读全文

与java构造器的作用相关的资料

热点内容
优信二手车解压后过户 浏览:62
Windows常用c编译器 浏览:778
关于改善国家网络安全的行政命令 浏览:833
安卓如何下载网易荒野pc服 浏览:654
javainetaddress 浏览:104
苹果4s固件下载完了怎么解压 浏览:1003
命令zpa 浏览:285
python编译器小程序 浏览:944
在app上看视频怎么光线调暗 浏览:540
可以中文解压的解压软件 浏览:593
安卓卸载组件应用怎么安装 浏览:913
使用面向对象编程的方式 浏览:339
程序员项目经理的年终总结范文 浏览:929
内衣的加密设计用来干嘛的 浏览:432
淮安数据加密 浏览:292
魔高一丈指标源码 浏览:982
松下php研究所 浏览:168
c回调java 浏览:401
梦幻端游长安地图互通源码 浏览:746
电脑本地文件如何上传服务器 浏览:313