面向对象

面向过程&面向对象

面向过程思想

  • 步骤请简单:第一步做什么,第一步做什么

  • 面向过程适合处理一些较为简单的东西

面向对象思想

  • 物以类聚,分类的思维模式,思考的问题首先会解决问题需要哪些分裂,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索(属性+方法:类)

  • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题。

  • 对与描述殊复杂的事物,为了从宏观上把握,从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。具体的微观操作,仍然需要面向过程的思路去处理。

什么是面向对象

  • 面向对象编程:(Object - Oriented Programming,OOP )

  • 本质:以类的防止组织代码,以对象的方式的组织(封装)数据

  • 抽象

  • 三大特性:

    • 封装

    • 继承

    • 多态

  • 从认识论角度考虑:先有对象后又类、对象是具体事物,类,是抽象的,是对对象的抽象

  • 从代码的运行角度考虑:先有类后又对象,类是对象的模板

回顾方法及加深

方法的定义:

  • 修饰符

  • 返回类型

  • break 和continue 的区别

  • 方法命名: 命名规范 见名知意

  • 参数列表

  • 异常抛出

方法的调用:

  • 静态方法

  • 非静态方法

  • 形参和实参

  • 值传递和引用传递

  • this关键字

public class Demo01 {
   public static void main(String[] args) {

  }

   // static和类一起加载。
   public static void a(){
       //b();
  };

   //无static,必须要实例化之后(new),才存在
   public void b(){

  }
}

public class Demo02 {
   public static void main(String[] args) {
       int add =  Demo02.add(1, 2);
       System.out.println(add);
  }
   public static int add(int a,int b){
       return a+b;
  }
}

public class Demo03 {
   public static void main(String[] args) {
       int a= 1;
       System.out.println(a);
       System.out.println("============");
       Demo03.change(a);
       System.out.println(a);
  }
   //反回值为空
   public static void change (int a){
       a =10;
  }
}

public class Demo04 {
   public static void main(String[] args) {
       Person person = new Person();

       System.out.println(person.name);

       Demo04.change(person);
       System.out.println(person.name);
  }
   public static void  change (Person person){
       //person是一个对象:指向的--->Person person = new person;这是一个具体的人,可以改变属性
       person.name = "小姑娘";
  }
}
//一个类中,只能有一个public class,但是可以有多个class
// 定义了一个类,类有一个属性
class Person{
   String name;//null
}

java基础——初识面向对象的更多相关文章

  1. Java基础-初识面向对象编程(Object-Oriented-Programming)

    Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...

  2. java基础-初识类

    一 前言 在 <[java基础]-谈谈对面向对象理解 >一文中已经知道什么是对象,如何创建对象:这篇文章主讲对象的类型,简称类: 二 类介绍 2.1 类 每个对象都有一个类型,通常在所有的 ...

  3. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)

    ---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...

  4. Java学习 · 初识 面向对象基础一

    面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决 ...

  5. Java学习 · 初识 面向对象基础二

    Package 为什么需要使用package a)   解决类重名的问题 b)   便于管理类 怎么使用package a)   类的第一句非注释性语句 b)   命名:域名倒着写,再加上模块名 注意 ...

  6. Java基础之面向对象以及其他概念

    一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...

  7. 【Java基础】面向对象下

    面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...

  8. 【java基础】面向对象的三大基本特征之-------继承

    面向对象的三大特征:封装,继承,多态 java通过extends关键字来实现继承,而且是单继承,一个子类只可以有一个直接父类,但是父类还可以有父类... java.long.Object是所有类的父类 ...

  9. 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类

    ---------- android培训.java培训.期待与您交流! ---------- 一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对 ...

随机推荐

  1. Hibernate的Dao层通用设计

    hibernate作为一款优秀的数据库持久化框架,在现实的运用中是非常广泛的.它的出现让不熟悉sql语法的程序员能开发数据库连接层成为一种可能,但是理想与现实永远是有差距的.开发过程中如果只使用hql ...

  2. 从谷歌CRE谈起,运维如何培养服务意识?

    从谷歌CRE谈起,运维如何培养服务意识? 2016年10月,谷歌云平台博客(Google Cloud Platform Blog)上更新了一篇文章,谷歌宣布了一个新的专业岗位,CRE(Customer ...

  3. 【2020.02.01NOIP普及模拟4】怪兽

    [2020.02.01NOIP普及模拟4]怪兽 文章目录 [2020.02.01NOIP普及模拟4]怪兽 题目描述 输入 输出 输入输出样例 数据范围限制 提示 解析 code 题目描述 PYWBKT ...

  4. Dubbo 编解码那些事

    一.背景 笔者在一次维护基础公共组件的过程中,不小心修改了类的包路径.糟糕的是,这个类被各业务在facade中进行了引用.传递.幸运的是,同一个类,在提供者和消费者的包路径不一致,没有引起各业务报错. ...

  5. 1-Hyperledger Fabric概念详解

    目录 一.Hyperledger Fabric概述 二.基本术语 1.共享账本ledger 2.通道Channel 3.组织Org 4.智能合约Chaincode 5.背书Endorse 6.各种节点 ...

  6. 如何获取canvas当前的缩放值

    项目中一直有一个问题困扰着我,我们的画布可以缩放平移旋转,支持拖拽生成图形,生成手写笔迹,如果用户选择的线条粗细为5像素,那么即使画布缩放过绘制出的线条粗细也应该是视觉上的5px,所以再绘制时赋值给c ...

  7. OO_Unit3_Summary

    JML这一单元是真的有含金量,很有难度.而且这难点和前两单元完全不同,前两单元是容易架构混乱导致细节出问题,JML单元是读不懂JML规格的话架构都构不出来,以及即使能够读懂JML规格了,让自己写规格的 ...

  8. OO第三单元个人总结

    OO第三单元个人总结 JML理论与基础与应用工具链 JML是什么? Java建模语言(JML)是一种行为接口规范语言,可用于指定Java模块的行为 .它结合了Eiffel的契约设计方法 和Larch ...

  9. 记一次metasploitable2内网渗透之samba服务的攻击

    80端口中对应一些web靶场,在这里不记录 111端口的利用是向rpcbind服务的UDP套接字发送60字节载荷,便可填充目标内存,搞崩主机系统.在这里也不记录 Samba服务简介 Samba是在Li ...

  10. 【macOS】Homebrew & Homebrew cask macOS软件包管理神器

    Homebrew Homebrew 与 Homebrew Cask Homebrew 是基于 OS X 的套件管理工具,是一个开源的 Ruby 脚本,专门用于快速下载软件.更通俗地讲,Homebrew ...