面向对象

面向过程&面向对象

面向过程思想

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

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

面向对象思想

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

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

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

什么是面向对象

  • 面向对象编程:(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. Java自定义 sort 排序方法

    Sort用法 •结构 1 package Test; 2 3 import java.util.Arrays; 4 import java.util.Random; 5 import java.uti ...

  2. 尝试做一个.NET简单、高效、避免OOM的Excel工具

    Github : https://github.com/shps951023/MiniExcel 简介 我尝试做一个.NET简单.高效.避免OOM的Excel工具 目前主流框架大多将资料全载入到记忆体 ...

  3. 解决跨域问题chrome浏览器插件

    https://www.crx4chrome.com/crx/53489/ 解决chrome浏览器跨域的问题

  4. 201871010110-李华 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业要求 我的课程学习目标 (1)理解并掌握代码风格及设计规范:(2)通过任务3进行协作开发,尝试进行代码复审,在进行同伴复审的过程中体会结对 ...

  5. MindSpore函数拟合

    技术背景 在前面一篇博客中我们介绍过基于docker的mindspore编程环境配置,这里我们基于这个环境,使用mindspore来拟合一个线性的函数,演示一下mindspore的基本用法. 环境准备 ...

  6. JavaScript中的new,bind,call,apply的简易实现

    Function原型链中的 apply,call 和 bind 方法是 JavaScript 中相当重要的概念,与 this 关键字密切相关,相当一部分人对它们的理解还是比较浅显,所谓js基础扎实,绕 ...

  7. Day11_56_在SortedSet中使用泛型

    在SortedSet中使用泛型 import java.util.SortedSet; import java.util.TreeSet; //主类 public class GenericTest0 ...

  8. WPF之小米Logo超圆角的实现

    某些新闻:小米logo换新,程序员一行代码(border-radius:19px)实现,目前此行代码价值200万 某程序员内心:所以还是因为我代码写太少了,所以这200万才没有我的份吗? 这事儿也成功 ...

  9. ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息

    ASP微信服务号H5客户登陆,且获取客户授权的用户基本信息是需要客户授权,下面讲解详细步骤: 第一步:客户点击登录页,自动跳转到微信服务器端获取code 第二步:用第一步获取的code去获取客户的ac ...

  10. 软件篇-04-OMPL和FCL用于SLAM轨迹规划

    使用OMPL内置的infoRRTstar算法模块和FCL碰撞检测库实现当前点和目标点的轨迹规划, 参考文章:https://www.cnblogs.com/shhu1993/p/7062099.htm ...