java学习笔记——面向对象的封装性及构造方法

面向对象的三大特征:封装线,继承,多态

封装性在程序中的表达:
1:方法
2:private ==》私有化(关键字)
封装就是将一些细节东西隐藏起来,外界不可见

在java Bean中一旦使用了private进行封装,那么成员变量就不可以在本类以外的类使用,所以想要继续获取成员变量,那么就需要使用get/set方法来得到成员变量

注意:使用private也是为了防止一些不合理的数值赋值给成员变量,比如将年龄设置为负数,所以使用set可以在set方法中对数值进行判断是否合理在赋值给成员变量

注意:对于boolean基本类型来说,设置或者改变成员变量是用set方法,但是想要得到成员变量就不能使用get方法,需要使用 “”is成员变量名()"

public class Phone {
    private int price;

    //    get/set
    public void setPrice(int a) {
        price = a;
    }

    public int getPrice() {
        return price;
    }

    //    成员方法
    public void play() {
        System.out.println("玩");
    }
}
/*
* phone的对象
* */
public class GetPhone {
    public static void main(String[] args) {
//        创建对象
        Phone phone=new Phone();
        phone.setPrice(4999);
        System.out.println(phone.getPrice());
    }
}

使用了get/set方法可以在java Bean被封装时得到成员变量,但是如果在set方法的参数中,变量名与成员变量名一致,那么成员变量就不会有具体的值,会有默认值

 public void setPrice(int price) {
        price = price;
    }

所以当局部变量与成员变量名称一致时,根据就近原则使用局部变量
那么这时候就需要在成员变量后来一个this(关键字)
this:谁调用这个方法谁就是this
比如phone调用set方法来给成员变量赋值,那么phone就是this, this.price就是成员变量的赋值了

  public void setPrice(int price) {
        this.price = price;
    }

构造方法:用来创建对象的方法,当通过new关键字来创建对象时,就是在调用构造方法
注意:构造方法的方法名必须与类名一致
构造方法有两种,无参构造与有参构造(全参构造)
注意:当java Bean中没有构造方法时,但是又创建了对象,那么这个无参构造方法是编译器赠送的,所以,当java Bean要么没有构造方法(由编译器赠送一个无参构造),要么就写全两种构造方法

//    构造方法
    public Phone(){
        System.out.println("无参构造");
    }
    public Phone(int price){
        System.out.println("全参构造");
        this.price=price;
    }

有了有参构造方法也还是需要set方法,可以用来修改成员变量

一个标准的类具有以下四个步骤就是一个java Bean:
1:无参构造方法
2:有参构造方法
3:get/set方法
4:private关键字私有化成员变量

构造方法和get/set方法的快捷键为 :Alt+F12

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值