分享
 
 
 

浅谈JAVA中类的构造器

王朝java/jsp·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

现在越来越多的人开始学习java,很多人求学心切,免不了贪多而忽略了一些基本的,也是必须搞清楚的概念。下面我就来说说java里类的构造器概念。大家知道java作为一门OO语言,和C++,Smalltalk等一样有3个最关键

1。ADT

2。继承

3。多态

当然对于java,类的概念是重中之重,对于类的构造和对象的实现就需要用到构造器。

例如:class Professer(){

private string name;

private int number;

public Professer(string n,int no){

name=n;

number=no;

}

public teach(){}

}

下面我们要对这个类的对象实例化:Professer p =new Professer()

以上就是构造器的语法了,这里用到了关键字

new

讲到这里还没有什么可以困扰我们的地方,那么下面我们将借助有关继承的一些例子来继续阐述构造器问题:

假设:class OldProfesser(){

private string name;

private int number ;

private int age;

public do(){}

}

有人也许会问为什么这个OldProfesser类里面为什么没有定义构造器?其实,java已经我们定义了一个无参数的默认构造器,即OldProfesser(){}

Ok, 到这里为止,没有任何问题,然而,一旦让OldProfesser继承Professer并实例化,编译器就会报错,LOOK:

class OldProfesser extends Professer(){

private string name;

private int number ;

private int age;

public do(){}

public static void mian(string[] args){

OldProfesser o=new OldProfesser();

}

很抱歉你得到的是一条出错的信息,有人问了,你说OldProfesser的构造器是默认的我才这样写,没错,OldProfesser确实存在这样一个无参的构造器,这样写法换做OldProfesser不做Professer的子类的情况下一定是正确的。

你所需要知道的是下面一个规则:

1。如果一个类没有设置字定义构造器,那么编译器会默认一个无参构造器。

2。在子类调用构造器时,总是先调用基类的构造器。

3。如果自定义了构造器,那么默认构造器将不存在。

在上例中,OldProfesser调用默认构造器前,编译器自动调用基类Professer的默认构造器,然而,Professer有了自定义构造器,所以默认构造器不存在了,编译器报错…………

那么我们该怎么做呢?像下面这样就OK了。

class OldProfesser extends Professer(){

private string name;

private int number;

private int age;

Oldprofesser(string n,int no,int age){

super(n,no);

this.age=age;

}

public do(){}

}

这就是在子类中显式的调用基类构造器,注意,super必须是{}中的第一个执行语句。其实我们还有另外一种方法,在Professer类里面补充一个消失掉的默认构造器,如下:

class Professer(){

private string name;

private int number;

public Professer(string n,int no){

name=n;

number=no;

}

Professe(){}

public teach(){}

}

值得一提的是构造器方法中,构造器的名称要与类的名称完全相同,包括大小写。

好了,关于构造器的一些基本问题讲的差不多了,请多指正…………

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有