0
点赞
收藏
分享

微信扫一扫

Java学习篇11_封装


上一篇博客:面向对象、类与对象

目录

  • 封装
  • 概述
  • 封装的步骤
  • 封装的操作
  • 封装优化
  • 标准代码—JavaBean

开始

一、封装概述

面向对象的语言是对客观世界的模拟,客观世界成员变量都是隐藏在对象内部的,外界无法直接操作和修改

封装可以被认为是一个保护屏障,防止该类的代码和数据被其他类随意访问。

要访问该类的数据,必须通过指定的方式

适当的封装可以让代码更容易理解和维护,也加强了代码的安全性

二、 封装的步骤

  1. 使用private关键字来修饰成员变量
  2. 对需要访问的成员变量,提供对应一对getXxx方法、setXxx方法

三、封装的操作

  1. private的含义
  • private是一个权限修饰符,代表最小权限
  • 可以修饰成员变量和成员方法
  • 被private修饰后的成员变量和成员方法,只能在本类中才能访问
  1. 使用格式

private 数据类型 变量名;

  1. 使用举栗

package DemoExercise;

public class Student {
    private String name;
    private int age;

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}


package DemoExercise;

public class TextStudent {
    public static void main(String[] args) {
        Student stu = new Student();
        //System.out.println(stu.name);
        //System.out.println(stu.age);
        
    }
}

Java学习篇11_封装_System

Java学习篇11_封装_System_02

四、封装优化

  1. this.成员变量
  • 形参变量可以和成员变量重名,为了区分形参变量名与成员变量名,需要用this.成员变量名
  • this 代表的所在类当前对象的引用,就是当前这个对象,方法被哪个对象调用,this就代表那个对象
  1. 构造方法
  • 当一个对象被创建时,构造方法用来初始化该对象,可以传参给对象的成员变量赋值
  • 其实Java自动在类中提供一个无参数、空代码的构造方法,一旦你重现定义,Java提供的就会失效
  • 定义格式

修饰符 构造方法名(参数列表){
	//方法体;
}

//构造名字必须与类名相同
//它没有返回值,不用写返回值类型,void都不用写

  • 举栗

package DemoExercise;

public class TextStudent {
    public static void main(String[] args) {
        Student stu = new Student();
        //System.out.println(stu.name);
        //System.out.println(stu.age);
        System.out.println(stu.getAge());
        //set、get后面的单词首字母大写
        System.out.println(stu.getName());

        stu.setAge(18);
        stu.setName("小司");

        System.out.println(stu.getAge());
        //set、get后面的单词首字母大写
        System.out.println(stu.getName());

        System.out.println("==================");
        //创建第一个对象
        Student stu1 = new Student();
        System.out.println(stu1.getName());
        System.out.println(stu1.getAge());

        //创建第二个对象
        Student stu2 = new Student("小超",19);
        System.out.println(stu2.getName());
        System.out.println(stu2.getAge());


    }
}

Java学习篇11_封装_java_03

  1. 如果你不提供构造方法,系统会给出无参数构造方法。
  2. 如果你提供了构造方法,系统将不再提供无参数构造方法。
  3. 构造方法是可以重载的,既可以定义参数,也可以不定义参数。

五、标准代码—JavaBean

  1. JavaBean是Java语言编写类的一种规范。(咖啡豆 O(∩_∩)O哈哈~)

符合JavaBean的类,要求必须是具体的和公共的,并且具有无参数的构造方法,提供set、get方法

public class ClassName{   
	//成员变量   
	//构造方法   
	//无参构造方法【必须】   
	//有参构造方法【建议】   
	//成员方法       
	//getXxx()   
	//setXxx() 
}

参考:B站黑马



举报

相关推荐

0 条评论