构造方法的创建

1.构造方法

1.1.作用:给成员变量赋初值
1.2.与类同名,没有返回值类型(连void都没有)
1.3.在创建对象时被自动调用
1.4.若自己不写构造方法,编译器会默认提供一个无参的构造方法,若自己写了构造方法,则不提供默认方法
1.5.构造方法可以重载

2.this:

指代了当前对象,哪个对象调用了方法就指代哪个对象
    关键字,只能用在方法中,方法中访问成员变量之前默认有个this.
    this的用法:this.成员变量名---------访问成员变量
    成员变量与局部变量重名时,若想访问成员变量,则this不能省
    this.方法名()-------调用方法(一般不用)

3.构造方法的定义要求

1.构造方法的名称要和类名一致。

2.构造方法不允许有返回值类型声明。

有参和无参构造方法

public class Car {   //设计一个Car类
    private String model;  //型号
    private String color;  //颜色
 
    //无参构造方法
    public Car(){
 
    }
 
    //有参构造方法
    public Car(String model,String color){
        this.model=model;
        this.color=color;
    }
 
    @Override
    public String toString() {      //重写toString用来输出对象
        return "Car{" +
                "model='" + model + '\'' +
                ", color='" + color + '\'' +
                '}';
    }
 
    public static void main(String[] args) {
        Car car1=new Car();   //调用无参构造方法初始化第一个对象
        System.out.println(car1);
        Car car2=new Car("宝马","白色");  //调用有参构造方法初始化第二个对象
        System.out.println(car2);
    }
}

getter和setter方法

优点
满足面向对象语言封装的特性
  尽可能将类中的属性定义为private,针对属性值的访问与修改使用相应的getter、setter方法,不是直接通过对public属性进行读取修改。
有利于统一控制
  直接通过对public属性进行读取修改和没有业务逻辑的getter/setter效果一样,但是前者难以应对业务的变化。比如,如果业务需要对某个属性进行修改权限控制,如果有setter作为统一的属性修改方法则更容易实现,这种情况在一些使用反射的框架中作用尤其明显。比如Spring框架中,通过getter/setter获取Bena和注入Bena;Mybatis框架通过注解操作数据库时,就是通过setter将查询的值赋给pojo对象;在Java web中统一封装返回对象,json序列化时,也是通过getter获取属性值。
 

class User {
    private String name;
	private Integer age;
	public String getName(){
		return name;
	}
	public Integer getAge(){
		return age;
	}
	public void setName(String name){
		this.name = name;
	}
	public void setAge(Integer age){
		this.age = age;
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值