[java][16]构造方法和重载

java小白的学习记录......

1. 构造方法的作用:对象初始化

2. 默认构造函数:

若类中未定义构造函数,则系统会自动生成默认构造函数 (C++也是这样的)

如:

public class Penguin {
static String name;//静态成员变量 类变量
int health;//实例变量 普通成员变量
int love;

String sex;

        public void print(){
System.out.println("Dog name "+this.name+"\nhealth "+health
+"\nlove "+love+"\nsex "+sex);

}

}

类中无构造函数,初始化实例时, 

Penguin peng=new penguin();

是ok的!

3. 方法重载

1)方法名相同;

2)参数数据类型、个数、顺序不同;

3)与返回值、访问修饰符无关

4. 实例

涉及 无参构造和有参构造,this指针

1)创建Penguin.java类,代码如下:

public class Penguin {
static String name;//静态成员变量 类变量
int health;//实例变量 普通成员变量
int love;
String sex;

/**
* 无参构造:
* 1)方法名与类同名
* 2)没有返回值
* 3)与返回的修饰符无关
* 作用:给成员属性默认赋予初始值

*/
public Penguin(){
name="no";
health=10;
love=10;
sex="Q仔";
}

/**
* 有参构造
* 构造方法的重载: 方法名相同,参数列表不同(个数,类型,顺序)
 
* 注意:参数变量和类中的成员变量同名,必须使用this给成员变量指定
*  this--本类中的对象,可用来区分同名变量类型

*/
public Penguin(String name,int health,int love,String sex){
this.name=name;
this.health=health;
this.love=love;
this.sex=sex;
}

}

2)实例化

public class Test1 {
public static void main(String[] args){
//----Penguin.java
Penguin pen=new Penguin();

/*注意:此处调用的是1)的public Penguin()

               若注释掉1)的public Penguin(),则报错!因为:1)已经定义了有参构造,系统不会分配默认构造函数了*/

pen.print();

Penguin pen1=new Penguin("lucky",100,99,"Q妹");
//自定义一个有参数构造,系统就不再默认分配无参数构造
pen1.print();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值