zoukankan      html  css  js  c++  java
  • java 面向对象思想

    面向对象 & 面向过程

    • 面向过程: 步骤很清晰, 第一步做什么, 第二步做什么, 第三步做什么...

      例如:吃煎饼果子利用面向过程的思想:

      1. 学习摊煎饼的技术

      2. 买材料鸡蛋,油,葱等等

      3. 开始摊

      4. 收拾

    • 面向对象: 物以类聚, 是一种分类的思维模式, 思考解决一个问题需要哪些分类, 对每个分类单独思考, 然后对每个分类的细节面向过程思考. 适合处理需要多人协作的问题.

      例如:吃煎饼果子利用面向对象的思想

      1. 找会摊煎饼的大妈(创建一个摊煎饼大妈的对象)

      2. 调用其摊煎饼的技能(功能),传递进去钱参数

      3. 返回给我们一个煎饼

    • 面对对象编程的本质: 类的方式组织代码, 对象的方式封装数据.

    • 类是一个抽象的概念, 对象具体的事务, 是类的实例

    • 创建对象: Student stu = new Student(), 使用new关键字创建对象时, 不仅会分配内存空间, 还会对创建好的对象进行初始化, 调用类的构造器.


    构造方法

    • 类的构造方法, 也叫做构造器
    /*
     * 构造方法:
     * 		给对象的数据进行初始化
     * 
     * 格式:
     * 		方法名和类名相同
     * 		没有返回值类型,连void都不能写
     * 		没有具体的返回值
     *       如果没有显示的声明构造方法, java提供了默认的构造方法
     *       一旦创建了有参的构造方法, 想要调用无参构造就必须显示的定义
     */
    public class Student {	
    	public Student() {
    		System.out.println("这是构造方法");
    	}
    }
    
    

    封装

    • 是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改.
    • 将不需要对外提供的内容都隐藏起来. 把属性隐藏,提供公共方法对其访问. 成员变量private,提供对应的getXxx()/setXxx()方法
    • 简单来说就是属性私有化(private), 对外提供get/set 方法.

    继承(is a)

    • 继承是对某一批类的抽象, 使用extends关键字, 子类是父类的扩展.
    • java只支持单继承, 不支持多继承.
    • 继承后, 子类能够访问父类所有的非私有属性和方法

    多态

    一个对象的类型是确定的,但是可以指向多个引用类型, 多态是方法的多态.

    • 有继承的条件
    • 子类重写父类的方法
    • 父类的引用指向子类对象

    super & this

    super

    • super 代表对父类对象的引用, 必须在继承条件下才能使用.
    • super() 代表调用父类的构造方法, super()必须在构造方法的第一行.
    • super只能出现在子类的构造方法/方法中.
    • super 和 this 不能同时调用构造方法.

    this

    • 代表调用者当前这个对象
    • 没有继承条件也可以使用
    • this() 代表本类的构造
  • 相关阅读:
    Heapsort 堆排序算法详解(Java实现)
    GIve Me A Welcome Hug!
    linux系统救援模式拯救mv libc.so.6文件后无法使用命令的悲剧
    RabbitMQ集群部署
    使用Xshell通过堡垒机登录服务器
    dubbo + zookeeper环境部署
    zookeeper集群部署
    zabbix-3.0.1 添加微信报警
    zabbix-3.0.1结合grafana绘图
    Centos7.2安装zabbix3.0.1简要
  • 原文地址:https://www.cnblogs.com/lvzl/p/14664705.html
Copyright © 2011-2022 走看看