导航:首页 > 知识科普 > 创建构造方法时有哪些注意事项

创建构造方法时有哪些注意事项

发布时间:2023-09-07 08:00:14

㈠ java中构造方法的使用方法,常用情况,作用,能有高手指点迷津么,谢谢了

构造方法是一种特殊的方法,与一般的方法不同是:
1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连void也没有。
2.构造方法的调用是在创建一个对象时使用new操作进行的。构造方法的作用是初始化对象。
3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承。
构造方法可以被重载。没有参数的构造方法称为默认构造方法,与一般的方法一样,构造方法可以进行任何活动,但是经常将他设计为进行各种初始化活动,比如初始化对象的属性。
在Java中,任何变量在被使用前都必须先设置初值.Java提供了为类的成员变量赋初值的专门功能:构造方法(constructor)构造方法是一种特殊的成员方法,它的特殊性反映在如下几个方面:
(1)构造方法名与类名相同.
(2)构造方法不返回任何值,也没有返回类型.
(3)每个类可以有零个或多个构造方法.
(4)构造方法在创建对象时自动执行,一般不能显式地直接调用.
具体使用:分别计算长、宽为20、10和6、3的两个长方形的面积。
class RectConstructor{
double length;
double width;
double area(){
return length*width;
}
RectConstructor(double width,double length){//带参数的构造方法
this.length=length;
this.width=width;
}
}
public class RectDemo{
public static void main(String args[]) {
RectConstructor rect1=new RectConstructor(10,20);
RectConstructor rect2=new RectConstructor(3,6);
double ar;
ar=rect1.area();
System.out.println("第一个长方形的面积是"+ar);
ar=rect2.area();
System.out.println("第二个长方形的面积是"+ar);
}
}

PS.以上内容转自网络,关键字:构造方法

㈡ JAVA构造方法

构造方法必须满足以下语法规则:

(1) 方法名必须与类名相同。

(2)不要声明返回类型。

(3)不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和

abstract修饰没有意义。构造方法用于初始化一个新建的对象,所以用static修饰没有意义。多个线程不会同时创建内存地址相同的同一个对象,因此用synchronized修饰没有必要。此外,Java语言不支持native类型的构造方法。

例:

public class Sample {

private int x;

public Sample() { // 不带参数的构造方法

this(1);

}

public Sample(int x) { //带参数的构造方法

this.x=x;

}

public int Sample(int x) { //不是构造方法

return x++;

}

}

拓展资料:

构造方法的访问级别

构造方法可以处于public、protected、默认和private这四种访问级别之一。本节着重介绍构造方法处于private级别的意义。

当构造方法为private级别,意味着只能在当前类中访问它:在当前类的其他构造方法中可以通过this语句调用它,此外还可以在当前类的成员方法中通过new语句调用它。

在以下场合之一,可以把类的所有构造方法都声明为private类型。

(1)在这个类中仅仅包含了一些供其他程序调用的静态方法,没有任何实例方法。其他程序无需创建该类的实例,就能访问类的静态方法。例如 java.lang.Math类就符合这种情况,在Math类中提供了一系列用于数学运算的公共静态方法,为了禁止外部程序创建Math类的实例, Math类的惟一的构造方法是private类型的:

private Math(){}

abstract类型的类也不允许实例化。也许你会问,把Math类定义为如下abstract类型,不是也能禁止Math类被实例化吗?

public abstract class Math{…}

如果一个类是抽象类,意味着它是专门用于被继承的类,可以拥有子类,而且可以创建具体子类的实例。而JDK并不希望用户创建Math类的子类,在这种情况下,把类的构造方法定义为private类型更合适。

(2)禁止这个类被继承。当一个类的所有构造方法都是private类型,假如定义了它的子类,那么子类的构造方法无法调用父类的任何构造方法,因此会导致编译错误。把一个类声明为final类型,也能禁止这个类被继承。这两者的区别是:

1)如果一个类允许其他程序用new语句构造它的实例,但不允许拥有子类,那就把类声明为final类型。

2)如果一个类既不允许其他程序用new语句构造它的实例,又不允许拥有子类,那就把类的所有构造方法声明为private类型。

由于大多数类都允许其他程序用new语句构造它的实例,因此用final修饰符来禁止类被继承的做法更常见。

(3)这个类需要把构造自身实例的细节封装起来,不允许其他程序通过new语句创建这个类的实例,这个类向其他程序提供了获得自身实例的静态方法,这种方法称为静态工厂方法。

参考资料:java 构造函数

阅读全文

与创建构造方法时有哪些注意事项相关的资料

热点内容
孩子最难训练的方法 浏览:227
切削液的使用方法 浏览:843
没满月的宝宝鼻塞治疗方法 浏览:679
处理二手手机最好的方法 浏览:397
抹子使用方法 浏览:882
白驳风治疗最好的方法 浏览:451
科目三一挡挂二挡的正确方法 浏览:543
硫酸粘菌素效价计算方法 浏览:310
阿克曼角异响解决方法 浏览:903
四平行八平行计算方法 浏览:249
相机三脚架的使用方法 浏览:84
原子变量的计算方法 浏览:493
报表的正确方法图解 浏览:381
苹果下载闹铃铃声怎么设置在哪里设置方法 浏览:42
一个月快速增重20斤的方法 浏览:108
如何降低肌肉兴奋的方法 浏览:335
电脑阅卷快速写字方法 浏览:950
林海真假雅马哈摩托车的鉴别方法 浏览:606
无线光猫连接打印机的方法 浏览:287
人都变瘦的方法是什么呢 浏览:108