java构造器的写法_Java中的构造器

学习Java,就必须要理解它面向对象的编程思想,但是这个太抽象了,今天就具体说一说Java中的构造器和方法。

构造器可以提供很多特殊的方法,但是却和方法又有很多不一样的地方。

理论上讲构造器也是方法的一种,但是就像蝙蝠是哺乳动物,但是和一般的哺乳动物确实有区别的。(ps:好像比如并不恰当)。言归正传,下面具体聊聊。

1.功能上不一样。

构造器是为了创建一个类的实例。也只有在创建一个对象的时候才会调用。

JAVA j=new JAVA();

而方法的作用是为了执行Java代码。

功能上就不一样。

2.写法上的区别

构造器的写法上可以被任何访问的修饰符修饰(public protected private ..)但区别去方法,一下修饰符却不能用于构造器上(abstract,final,native,static).

3返回类型

方法能返回任何类型的值或者无返回值。构造器没有。

4.this的用法

两者之间关于this的用法区别很大,之前初学的时候一直容易弄混淆。

方法引用this指向正在执行方法的类的实例(静态方法除外。因为不属于类的实例)

构造器中的this指向同类中,不同参数列表的另一个构造器。

ex:public class Demo{

String name;

Demo(String args){

name=args;

}

Demo(){

this("jone");

}

public static void main(String args[]){

Demo d1=new Demo("jack");

Demo d2=new Demo();

}

}

上面这个例子职工,有两个不同参数列表的构造器。第一个给类的成员变量赋值,第二个调用第一个构造器。给成员变量一个初始值“jone”.

5 super 的用法

两者用是通过使用super指向超类,但是方法用super是去执行被重载的超类中的方法。

ex: class Demo2{

void getInfo() {

System.out.println("born alive.");

}

}

class Demo3extends Demo2{

void getInfo() {

System.out.println("hatch from eggs");

System.out.print("a mammal normally is ");

super.getInfo();

}

}

构造器使用super调用超类中的构造器,而且super()必须放在第一行,否则编译不通过。

ex: public class SuperClassDemo {

SuperClassDemo() {}

}

class Child extends SuperClassDemo {

Child() {

super();

}

}

ps:作用就是将超类职工的构造器实例化,加到child类中。

6.构造器不能被继承,但子类的方法却可以继承超类的任何方法。

最后还有一点需要补充,在实际开发中,编译器可以帮我们自动加入代码到构造器中去。当创建一个类,没有写构造器时,编译的时候,会自动加上一个不带参数的构造器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值