• 封装


    **
    * public(公共的):所有包下的所有类都可以访问。
    * private(私有的):只能在本类中访问。
    * 广义的封装:类似于包装的概念,在java中到处都是封装,可以将方法看作对代码集合的封装,可以将类看作对方法和属性的封装...
    * 封装的优点:
    * 1.隐藏了实现细节,简化开发
    * 2.安全
    * 3.提高了代码的可维护性和可扩展性。
    * 狭义的封装:将属性私有化,然后提高公有的getter和setter方法以供访问。
    * 步骤1:将属性私有化,将修饰符修改private的
    * 步骤2:提供公有的访问方法:getter方法:取值,setter方法:赋值
    * 步骤3:添加访问权限控制
    */

    同一个类

    同一个包中

    子类

    所有类

    private

    *

     

     

     

    default

    *

    *

     

     

    protected

    *

    *

    *

     

    public

    *

    *

    *

    *

     

     

     

     

     

     

     

     


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

    public Student(){
    }

    public Student(String name,int age,String className){
    this.name = name;
    this.age = age;
    this.className = className;
    }
    //name的getter和setter方法
    public String getName(){
    return this.name;
    }
    public void setName(String name){
    this.name=name;
    }
    //className的getter和setter方法
    public String getClassName(){
    return this.className;
    }
    public void setClassName(String className){
    this.className=className;
    }




    /**
    * 共有的getter方法:取值
    * get+属性名称(首单词首字母大写+其余字母)
    * @return
    */
    public int getAge(){
    return this.age;
    }
    /**
    * 共有的setter方法:赋值
    * set+属性名称(首单词首字母大写+其余字母)
    * @param age
    */
    public void setAge(int age){
    //访问权限
    if(age<18){
    this.age=18;
    }else{
    this.age=age;
    }
    }

    public void intro(){
    System.out.println("姓名:"+name);
    System.out.println("年龄:"+age);
    System.out.println("班级:"+className);
    }
    }

    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    public class TestStudent {
    public static void main(String[] args) {
    Student stu = new Student();
    // stu.name="张三";
    // stu.age=-20;
    // stu.className="java02";
    stu.setName("张三");
    stu.setAge(-20);
    stu.setClassName("java02");
    stu.intro();
    }
    }

  • 相关阅读:
    ping命令
    第一次手写Loadrunner测试脚本
    select into from和insert into select
    网络安全领域常说的payload
    如何查看LoadRunner日志
    验证码测试
    HTTP的请求和响应
    LoadRunner能录制微信登录过程么?
    切面编程AOP之KingAOP
    编程规范
  • 原文地址:https://www.cnblogs.com/benpaozhimeng/p/6978267.html
Copyright © 2020-2023  润新知