Java oop—封装

Java oop — 封装

权限修饰符:
  • private: 成员变量和方法只能在其定义的类中被访问,具有类可见性。
  • default:成员变量和方法只能被同一个包里的类访问,具有包可见性。
  • protected: 可以被同一个包中的类访问,被同一个项目中不同包中的子类访问。
  • public:可以被同一个项目中的所有类访问,具有项目可见性,这是最大的访问权限。
    在这里插入图片描述
封装:
  • 我们程序设计追求“高内聚,低耦合”。
    高内聚 :类的内部数据操作细节自己完成,不允许外部干涉;
    低耦合 :仅对外暴露少量的方法用于使用。
  • 所谓的封装,就是隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说,把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。
public class Student {     // 封装属性
    private String stuNo;          //  stuNo是field
    private String stuName;
    private char gender;
    private int age;
    private String product;
    
    // 无参构造
public Student(){}

    //全参构造
    public Student(String stuNo, String stuName, char gender, int age, String product){
        this(stuNo, stuName, gender);      //用this调用上面非全参(其他同参)的构造方法
        this.stuNo = stuNo;
        this.stuName = stuName;
        this.gender = gender;
        this.age = age;
        this.product = product;
    }
    //调用get和set方法
    public void setStuNo(String stuNo){
        this.stuNo = stuNo;
    }
    public String getStuNo(){
        return stuNo;
    }

    public void setStuName(String stuName){
        this.stuName = stuName;
    }
    public String getStuName(){
        return stuName;
    }

    public void setGender(char gender){
        this.gender = gender;
    }
    public char getGender(){
        return gender;
    }

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

    public void setProduct(String product){
        this.product = product;
    }
    public String getProduct(){
        return product;
    }


    @Override
    public String toString(){    //toString{} 方法用于控制台展现数据,如果一个对象添加了该方法,
                                           // 则输出该对象时,自动调用该方法
       return MessageFormat.format("学号:{0}\n姓名:{1}\n性别:{2}\n年龄:{3}\n课程:{4}\n",
                stuNo, stuName, gender, age, product);
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值