Day06——面向对象

Day06

方法回顾
public static 方法类型 方法名(变量类型I 变量,变量类型II 变量,...){
	方法体;
	return 返回值;
}

局部变量没有变量不会有默认值。

面向对象开发
  • 面向过程注重每一个步骤都是亲力亲为,注重的是步骤
  • 面向对象注重的是结果。
  • 面向对象的三大特征:封装、继承、多态
  • 面向对象的好处
    1. 把复杂的问题简单化
    2. 有执行者变成指挥者
    3. 便于代码的扩展,与维护
  • 面向过程与面向对象是相辅相成的,都不可以少。
类与对象
  • 类是抽象的,用于描述一类的事物
  • 类包括:
    1. 成员属性
    2. 成员方法
  • 对象是类的具体表现形式
  • 类是图纸,对象是实物。
public class Student {
    private String name = "周星驰";
    private int age = 60;
    public void eat() {
        System.out.println("就是一顿吃");
    }
    public void study() {
        System.out.println("学习java,从入门到放弃");
    }
}
  • 注意:

    1. 成员方法没有修饰付static
    2. 成员属性写在类里;方法外面。
    3. 如果方法有返回值,且返回值类型是引用数据类型,传递的是内存地址。
    4. 成员方法的参数可以是引用数据类型
  • 匿名对象:一次性对象,没有名字的对象 new Student()

  • 匿名对象特点:

    1. 不在栈里开辟内存,但是会在堆里开辟空间。
    2. 这个对象使用完就会销毁,可以节省内存空间
  • 情况1:getStudent(new Student());作为方法的参数;

  • 情况2:new Student().study(); 调用类里的方法。

  • 匿名对象给成员变量赋值没有任何意义。play(new String[]{“30”,“40”,“50”,“60”});

局部变量与成员变量的区别
  • 局部变量:方法里的参数与变量
  • 成员变量:类里的
  • 四个区别:
    1. 位置:局部变量在方法里,成员变量在类里
    2. 生命周期:局部变量随着方法的开始而开始,结束而结束;
      成员变量随着对象的开始而开始,随着对象的回收而借宿(进入垃圾回收期)
    3. 局部变量存在栈里 , 而成员变量 存入在堆了
    4. 员变量都有默认值,局部变量没有默认值
私有化private
  • 被私有化的只能被本类访问。
  • 私有化的好处
    1. 隐藏内部细节, 保护数据的安全, 以及防止数据的错误
    2. 提供两个对外的方法, 一个setXXX() 赋值 getXXX() 取值 快捷键Alt+Insert
    3. 可私有化的有:属性、方法、类、接口
    4. 私有化就是一种简单的封装。
this的使用

this.变量:访问的都是成员变量。
this.方法:访问的都是成员方法。
在一个方法里面:如果成员变量与局部变量的名字是一样的, 局部变量的作用域优先于成员变量

封装
  • 属性的封装:
  1. 隐藏内部代码实现的细节
  2. 可以代码 可重用性
  3. 提高代码的可维护性,抽取出来的方法就是封装
  • 属性的封装
  1. 私有化属性
  2. 给相应的get set 方法

你可能感兴趣的:(总结)