面向对象特征(1)----封装

封装的概念:
             1.包装,例如我们将一些常用的功能进行抽取,定义成一个方法
             2.面向对象特征中的封装: 隐藏,对类中的成员对外是否可见进行控制 
             使用权限修饰符控制成员对外的可见性
封装的好处:

 


         封装案例1: 将类中属性私有化
package oop03.fengzhuang;

public class person {
    //将属性设为私有制,在其他类中就不能随意访问
     private String name;
    private int age;

    public person() {
    }



    //对外设置一个公共方法,在方法中控制语句
    public void setname(String name){
        if(name.length()>2&&name.length()<6){
            this.name=name;
        }
    }

    public String getname(){
       return this.name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}
package oop03.fengzhuang;

import oop03.fengzhuang.person;

public class persontest {
    public static void main(String[] args) {
        person p1=new person();
        p1.setname("aaa");
        System.out.println(p1.getname());
    }
}


         封装案例2: 将某些方法私有化

package oop03.fengzhuang;

public class window {
    static window  window=new window();//window()为静态属性,在每次类加载时创建

    private window(){}//将构造方法私有化,让别的类 用不了

    public   static window getwindow(){//提供一个获取window的方法
        return window;
    }
}

 

package oop03.fengzhuang;

public class testwindow {

    public static void main(String[] args) {
        window.getwindow();
        System.out.println(window.getwindow());
    }
 总结:

java设计模式(模板,固定套路)
         解决一类问题的固定方式.
         单例模式: 单个实例,在系统中,想让某个类只能创建一个对象

 

成员变量与局部变量
         
 位置:
   成员变量:在类中定义    局部变量:在方法中定义或者方法的参数     
 权限修饰不同 
    成员变量:可以使用权限修饰符(static) 
    局部变量:不可以使用权限修饰符
初始化不同: 
     成员变量:     非静态--在创建对象后,由构造方法初始化
                 静态--类加载时初始化
     局部变量: 声明后后,使用前必须自己进行初始化
     
生命周期不同:(什么时候生(创建),什么时候死(销毁))
    成员变量:    生(创建)              销毁
                非静态--创建对象          对象被垃圾回收   
                静态--类加载时            类被卸载   
    局部变量:
              生                           销毁
                当方法被调用                 当方法执行结束
                
在内存中的位置不同:
      成员变量:    非静态--与对象在堆空间存储
                   静态--与类信息在方法区中存储
      局部变量: 与方法在栈空间中存储    

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值