面向对象的三大特征——封装

面向对象的三大特征

(1)封装 –>提高程序的安全性 (主要指的是值的准确的性)
(2)继承–>提高代码的复(重复使)用性
(3)多态–>提高程序的扩展性

封装

public :最大的访问权限(整个项目可见)
protected :子类方访问权限
package :包内访问权限
private :本类访问权限

  1. 封装的好处:
    安全
    使用封装保证属性的安全性(属性值的准确性)
    (1)属性私有化 private
    (2)提供公有的取值,赋值方法
    (3)在赋值的方法中进行值的合理性验证
public class Student{
        //(1)属性私有化
        private String name;
        private int age;
        private String gender;
        
        //(2)提供公有的取值,赋值方法
        public void setAge(int age){
                //(3)在赋值的方法中对值进行合理性验证
                if(age<18||age>30){
                        System.out.println("对不起,学生的年龄要在18到30之间");
                        this.age=18;//给属性设置成默认值
                }else
                        this.age=age;//将局部变量的值赋给成员变量
        }
        
        public int getAge(){
                return age;
        }
        
        public void setGender(String gender){
                if(!"男".equals(gender) &&!"女".equals(gender)){
                        System.out.println("对不起,性别有误");
                        this.gender="男";
                
                }else
                        this.gender=gender;
        }
        public String getGender(){
                return gender;
        }
        public void setName(String name){
                this.name=name;
        }
        public String getName(){
                return name;
        }
        
        //构造方法
        public Student(){
        
        }
        public Student(String name,int age,String gender){
                this.name=name;
                //this.age=age;
                //this.gender=gender;
                this.setAge(age);  //调用本类的成员方法
                this.setGender(gender);
        }
        public void show(){
                System.out.println(name+"\t"+age+"\t"+gender);
        }
}

测试

public class TestStudent{
        public static void main(String [] args){
                Student stu=new Student();
                stu.setAge(9); //对象名.方法名
                System.out.println(stu.getAge());
                
                stu.setGender("人妖");
                System.out.println(stu.getGender());
                
                Student stu2=new Student("张三",12,"人妖");
                stu2.show();
        }
}
简单
  1. JavaBean是一个特殊的Java类
    (1)类是public
    (2)属性是private
    (3)提供get,set方法
    (4)提供无参构造
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值