八 java面向对象程序设计(构造方法)

八 java面向对象程序设计(构造方法)

/**
 * 面向对象之二
 * 构造方法(构造机):
 *
 * 1,构造方法的特征:
 * 它具有与类相同的名称;
 * 它不含返回值;
 * 它不能在方法中用return语句返回一个值
 * 注意:在构造方法里不含返回值的概念是不同于“void”的,在定义构造方法时加了“void”,结果这个方法就不再被自动调用了。
 * 2,构造方法的作用:
 * 当一个类的实例对象刚产生时,这个类的构造方法就会被自动调用,我们可以在这个方法中加入要完成初始化工作的代码。
 * 也就是说,构造机最大的作用是为类成员初始化.
 */
class Constructor
{
 private int i;
 private String str;
 //public Constructor(){}
 //当我们不为创建的类添加构造方法时,系统会自己为我们添加一个默认的构造方法.
 //但是,当我们已经为该类的加上构造方法后,那么系统将不再为我们自动创建构造方法了.
 public Constructor()
 {
  System.out.println("default Constructor is calling");
  i = -1;
  str = "unknown";
 }
 public Constructor(int i)
 {
  System.out.println("one int type args Constructor is calling");
  this.i = i;
  str = "unknown";
 }
 public Constructor(int i,String str)
 {
  System.out.println("two args Constructor is calling");
  this.i = i;
  this.str = str;
 }
 public int getI(){return i;}
 
 public String getStr(){return str;}
}
public class ConstructFunction {

 public static void main(String[] args) {
  Constructor ctor1 = new Constructor();
  System.out.println("Constructor.i = " + ctor1.getI() + " " +
    "Constructor.str = " + ctor1.getStr());
  Constructor ctor2 = new Constructor(20);
  System.out.println("Constructor.i = " + ctor2.getI() + " " +
    "Constructor.str = " + ctor2.getStr());
  Constructor ctor3 = new Constructor(30,"Constructor");
  System.out.println("Constructor.i = " + ctor3.getI() + " " +
    "Constructor.str = " + ctor3.getStr());
 }

}
/* output~~
default Constructor is calling
Constructor.i = -1 Constructor.str = unknown
one int type args Constructor is calling
Constructor.i = 20 Constructor.str = unknown
two args Constructor is calling
Constructor.i = 30 Constructor.str = Constructor
 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值