Java面向对象之封装

封装:

通俗理解:在不想让外人看见自己所定义的内容,但是你可以使用(调用),怎么调用呢?通过先设置(set)下属性或者方法内容,然后你必须获取(get)下才可以调用。

 

 1、封装:隐藏实现细节,提供公共的访问方式;

①、好处:

  隐藏实现细节,提供公共的访问细节;

  提高代码的复用性;

  提高代码的安全性;

②、设计原则:

  把不想让外界知道的实现细节给隐藏起来,把属性隐藏,提供公共的访问方式。

③、体现:

  类、方法、private修饰成员变量

2、private 关键字(仅仅是封装的体现形式):

  ①、私有的意思,权限修饰符,可以修饰成员变量和成员方法;

  ②、特点:

  被private修饰过的成员只能在本类中访问;

 ③、应用:

  类中不需要对外提供的内容都需要私有化,包括属性和方法;

  以后再描述事物,属性都私有化。

  对成员变量的访问:
        赋值(设置 set )、取值(获取 get)

3、this关键字:

  在成员变量面前加上this 来区别成员变量和局部变量;

  哪个对象调用this所在的方法,this就代表哪个对象。

例如:比较两个人是否同龄:

package com.oracle.demo02;

public class Person {
    private String name;
    private int age;
    public void setName(String n){
        name=n;
    }
    public String getName(){
        return name;
    }
    public void setAge(int a){
        if(a>=0&&a<=130){
            age=a;
        }else{
            age=0;
        }
    }
    public int getAge(){
        return age;
    }
    public void speak(){
        System.out.println("我叫"+name+",今年"+age+"岁了");
    }
    //比较两个人是否是同龄人
    public boolean compare(Person p){
        return this.age==p.age;
    }
}
package com.oracle.demo02;

public class Demo01 {
    public static void main(String[] args) {
            Person p1=new Person();
        p1.setAge(18);
        Person p2=new Person();
        p2.setAge(19);
        boolean flag=p1.compare(p2);
        System.out.println(flag);
    }
}
                                                   

 4、Eclispe中快速私有的方法:

  定义完属性后,鼠标右键--->Source----->Generate Getters and Setters----->右侧Select All   。

 

posted @ 2019-05-20 10:50  壹叶知秋  阅读(387)  评论(0编辑  收藏  举报