【编程】面对着自己的女朋友编程?( 二 )


二、Java中类与对象1.Java中类的定义
举一个手机的例子 , 手机就是一个类
手机有哪些属性?尺寸 , 颜色 , 内存等
手机有哪些功能?打电话 , 发短信 , 看新闻等
这些属性和功能在Java里面是如何体现的?
画图分析:
从中我们可以知道:

  • 现实中的属性对应的就是Java中的成员变量
  • 现实中的功能对应的就是Java中的成员方法
附:类中成员变量的默认值
  • 整数型:0;
  • 浮点数:0.0;
  • 字符:'\\u0000'
  • 布尔:false;
  • 引用类型:null;
2.Java中的对象及使用
知道了Java中的类(包含成员变量 , 成员方法)
那Java中的对象又是怎么回事呢?
对象的命名格式:
类名 对象名=new l类名
3.对象内存图
先复习下几个概念:
  • 栈是用来运行方法的
  • 堆是用来存储对象和数组(new出来的都在里面)
  • 方法区是用来存储.class文件(也就是类 , 成员变量 , 成员方法都在里面)
这几个概念弄明白后 , 再画内存图:
运行流程:
①main方法从方法区中入栈(程序运行的入口)
②声明一个对象phone
③在堆中new出一个对象
④给对象的成员变量赋值(成员变量在方法区中取)
⑤调用成员方法
⑥方法区中的成员方法入栈
⑦成员方法运行完后 , 方法退栈
⑧main方法退栈 , 程序运行结束
小结及注意事项:
  • 栈中运行的方法 , 把握“先进后出”的原则 , 也就是说main方法最先进去 , 但是它却是最后才出来 。
  • 对象调用方法时 , 根据对象中方法标记(地址值) , 去类中寻找方法信息 。 这样哪怕是多个对象 , 方法信息只保存一份 , 节约内存空间 。
三、封装面向对象三大特性:封装、继承和多态 。
什么叫封装?逐字分析就是 , 封闭了将其装起来 。
成员变量和成员方法在类中 , 为了防止它被其他类随意访问到 , 就需要使用到封装 , 这样更加的安全 。
如何封装?这就需要使用到private这个关键字了 。
1.private关键字
  • private , 翻译成中文就是:私有 , 它是一个权限修饰符 , 代表最小权限 , public 代表最大  。
  • private可以修饰成员变量和成员方法 , 也就是将它们封装 。
  • 被private修饰后的成员变量和成员方法 , 只在本类中才能访问 , 其他类不能访问
那其他类要访问怎么办?
其他类要访问这个类的成员变量属性 , 就需要调用这个类的方法才行 。
  • getXXX()就是取值的 。
  • setXXX()就是赋值的 。
2.this关键字
this , 翻译成中文就是:这个 。
它代表的就是当前对象的引用 , 也就是说方法被哪个对象调用了 , 这个this就是代表哪个对象 。
3.构造方法
Phone phone=new Phone();
这是创建对象的格式 , 其中Phone()就是一个构造方法 。
当一个对象被创建的时候 , 构造方法是用来初始化该对象的 , 赋予对象的成员变量初始值 。