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

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

发布时间: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 构造函数

阅读全文

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

热点内容
鱼线轮的种类及其使用方法 浏览:385
金华婚姻修复方法操作步骤 浏览:346
人群健康研究的统计学方法网课 浏览:40
帕金森手抖手术治疗方法 浏览:724
cdr如何快速排版超市特价海报方法 浏览:297
本量利分析有几种方法 浏览:186
玻璃圆规刀使用方法 浏览:908
挂画如何安装方法 浏览:167
轴流水泵的安装方法 浏览:948
备孕宝宝的正确方法视频 浏览:200
磁疗仪使用方法 浏览:828
船边离泊训练方法 浏览:22
按摩肚子的方法是哪些 浏览:807
冬枣不甜怎么个方法让它变甜 浏览:321
蜜蜂介入新王最佳方法 浏览:706
描写别人的作文都有哪些方法 浏览:198
多因子分析是什么统计方法 浏览:283
酸包菜的最简单的腌制方法 浏览:710
冷却系统课题研究方法 浏览:846
延时的计算方法 浏览:866