j a v a 基 础 知 识:构 造 函 数

一.构造函数:
  1.构造函数的方法名和类名相同。
  2.构造函数没有返回值,不能有return 关键字。
  3.多个构造函数以重载的形式存在。
二。 
public class Liu {
public static void main(String[] args) {
new Liu();
Liu k=new Liu();

}


public Liu() {
super();
// TODO Auto-generated constructor stub
System.out.println("我是构造函数liu");
}
public void jian(){
System.out.println("我是普通方法jian");
}


}
调用方式一:
new Liu();
Liu k=new Liu();
结果:
我是构造函数liu
我是构造函数liu
结论是:两种调用方式是等价的。一种是匿名对象,一种是普通的实例化对象。
调用方式二:
new Liu().jian();;
Liu k=new Liu();
k.jian();
结果为:
我是构造函数liu
我是普通方法jian
我是构造函数liu
我是普通方法jian
结论是:两种方式调用普通方法是等价的;先执行构造函数,后执行普通方法。
调用方式三:
在main方法中:在普通方法前加static,通过类名.普通方法名的形式调用;Liu.jian();完全可以
this.jian();是错误的方式。
结论是:
在静态方法中调用对象的方式:如果调用非静态方法通过实例对象调用相应的方法:Liu k=new Liu();k.jian();
                            如果调用是静态方法通过类名.方法名的形式。Liu.jian();
  不能使用this.方法名的形式。因为静态方法不允许有this关键字。


  1.对象一旦建立,就会调用与之对应的构造函数;作用是给对象初始化。
  2.当一个类中没有定义构造函数,系统默认会给此类加入一个空参数的构造函数。当一个类中定义了构造函数,定义的构造函数覆盖掉默认的空参数构造函数,默认构造函数就没有了。
三 构造函数与构造代码块的区别
   1.构造函数是给具体实例对象进行初始化。
   2.构造代码块是给所有对象进行初始化。
四 构造函数和普通方法
    1.构造函数:对象一旦建立就会调用对应的构造函数。只调用一次。
    2.普通方法:对象建立后,调用具体方法时才执行。可以被多次调用。
五 匿名对象
   1.当实例化对象只调用一次,可以用匿名对象,这样方便。
   2.当实例化对象想多次调用,需要给对象起一个名字,这样可以多次调用。
  例如:类Liu中有属性name,age;单纯为获取name属性,则用匿名对象new Liu().age;即可;当同时想获取name,age属性,不能用匿名对象
需要给对象起一个名字:Liu a=new Liu(); a.name; a.age;
  3.匿名对象作为实际参数在方法中传送。
  Liu a =new Liu(); show(a);<=> show(new Liu());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值