java面向对象之封装

封装,是面向对象思想的特征之一

封装表现:
  1、方法就是一个最基本封装体。
  2、类其实也是一个封装体。
封装的好处:
  1、提高了代码的复用性。
  2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理    解为就是封装的概念。
  3、提高了安全性。

例子:

 

package com.oracle.demo2;

public class Person {
    //私有:private 关键字  把变量还有方法私有化,外界不能访问
        //只能在本类中访问。
        //封装:隐藏实现细节,对外提供访问方式
    private String name;//类中基本特征
    private int age;
    //无返回值,利用形参接收参数,进行赋值
    public void setName(String n){
        this.name =n;
        
    }
    //有返回值,利用调用方法,方法给出返回值,再还给调用地方
    public  String getName(){
        return name;
    }
    //无返回值,利用定义形参a来接收实参传的值,再进行运算判断
    public void setAge(int a){
        //给创建的新对象的年龄的属性值设置范围权限
        if(a>=0&&a<=120){
            this.age =a;
        }else{
            this.age =0;
        }
        
        
    }
    //创建类中对象的说话功能
    public void speak(){
        System.out.println("我叫"+name+",今年"+age+"岁了");
        
    }
    public boolean compare(Person p){
        return p.age ==this.age;
    }
    
    
}

 

测试类:

package com.oracle.demo2;

public class Test {

    public static void main(String[] args) {
        //创建新对象
        Person p1 = new Person();
//        p1.name="雄大";
//        p1.age=22;
        p1.setAge(18);//调用添加赋值方法,利用实参传递值
        p1.setName("熊大");
        Person p2 =new Person();
//        p2.name= "熊二";
//        p2.age=11;
        p2.setAge(-12);
        p2.setName("熊二");
        System.out.println(p1.getName());//打印,调用显示方法
        p1.speak();//调用类中说话功能
        p2.speak();
        p1.compare(p2);//比较对象p1和对象p2
        System.out.println(p1.compare(p2));
    }

}

结果演示:

this关键字 

  注意:

  当在方法中出现了局部变量和成员变量同名的时候,可以在成员变量名前面加上this.来区别成员变量和局部变量

总结:
  1.面向对象和面向过程,举例理解,知道区别
  2.在新建类中有成员变量和成员方法,
  3.成员变量和局部变量区别,成员变量存储在堆里,局部变量存储在栈,方法里
  4.成员变量在堆里默认赋初值
  5.私有private 关键字  ,把变量,方法私有化,外界不能访问,只能在本类中访问。
  6.封装,隐藏实现细节,对外提供访问方式
  7.类和对象的区别,对象进堆,类是抽象的,对象是具体的,对象是类的一个实例,对象继承类的方法和属性
  8.面向对象基本特征,继承,封装,和多态

posted @ 2018-07-26 14:21  吻泪  阅读(201)  评论(0编辑  收藏  举报
Live2D