三大特征
封装、继承、多态
5.封装
封装在java中的体现
1、方法就是一种封装
2、使用关键字private进行封装
封装就是将一些细节性的信息隐藏起来,对外界不可见
(1)private
私有的
可以使用private修饰词对现有的对象属性数据加以限制和保护
一旦加了private修饰后,那么本类是可以任意修改的,但是超出了本类的范围,就不能直接访问。
想要访问该属性需要通过间接的方式,也就是定义一对get/set方法
(2)set/get
快捷键:Alt+insert → Getter and Setter
//A类
private double height;
//设置属性
public void setHeight(double hei){
height=hei;
}
//获取属性
public double getHeight(){
return height;
}
//主类
A a=new A();
a.setHeight(50);//调用该方法,设置高度的值
c.getHeight();//获取高度
注解
打上注解、安装插件后就不用写get/set方法、全参构造、无参构造、toSting了
@Data 不用写get/set
@AllArgsConstructor 不用写全参构造
@NoArgsConstructor 不用写无参构造
@ToString 不用写toString
lombok插件本地安装
Lombok下载链接
安装后点击重启idea
(3)构造方法
1.格式
public 类名(){
//代码
}
2.无参构造
public GouZao(){
//方法名和类名一致
}
3.全参构造
快捷键:Alt+insert --> Constructor
public GouZao(String name,double height){
this.name=name;
this.height=height;
}
调用传参
主类
GouZao a=new GouZao("张三",175);
注意:
1、构造方法必须要跟类名一模一样
2、不能有返回值,不要void
3、任何一个类都有无参构造,如果没有写,系统会给你赠送一个无参构造,且参数、方法体什么都没有
4、当一旦写了带参数的构造方法,那么系统不再附赠无参构造
5、构造方法可以是重载方法
(4)成员变量、静态变量的不同
1、两个变量的生命周期不同
成员变量:随着对象的创建而存在,随着对象被回收而释放。
静态变量:随着类的加载而存在,随着类的消失而消失。
2、调用方式不同
成员变量:只能被对象调用。
静态变量:可以被对象调用,还可以被类名调用。
3、别名不同
成员变量:也称为实例变量。
静态变量:也称为类变量。
4、数据存储位置不同
成员变量:存储在堆内存的对象中,所以也叫对象的特有数据。
静态变量:数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据
(6)组成部分
一个标准类,通常包含四部分:
1、所有成员变量都要使用private关键字
2、为成员变量添加get/set方法
3、编写一个无参构造
4、编写一个全参构造