面向对象

面向过程&面向对象

面向过程思想

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

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

面向对象思想

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

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

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

什么是面向对象

  • 面向对象编程:(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. Hashtable 渐渐被人们遗忘了,只有面试官还记得,感动

    尽人事,听天命.博主东南大学硕士在读,热爱健身和篮球,乐于分享技术相关的所见所得,关注公众号 @ 飞天小牛肉,第一时间获取文章更新,成长的路上我们一起进步 本文已收录于 「CS-Wiki」Gitee ...

  2. C++ 虚函数的内部实现

    C++ 虚函数的内部实现 虚函数看起来是个玄之又玄的东西,但其实特别简单!了解了虚函数的内部实现,关于虚函数的各种问题都不在话下啦! 1. 知识储备 阅读这篇文章,你需要事先了解以下几个概念: 什么是 ...

  3. Windows上Docker Toolbox修改镜像源

    https://blog.csdn.net/weixin_36242811/article/details/90515835

  4. Java(171-194)【接口、多态】

    1.接口概述与生活举例 接口就是一种公共的规范标准 只要符合规范标准,就可以大家通用 2.接口的定义基本格式  public interface 接口名称 {       // 抽象方法      / ...

  5. Java 在Excel中添加水印(单一水印、平铺水印)

    在Excel中没有直接添加水印的功能,但依旧可以通过一定方式来实现类似水印效果.本文通过Java程序代码介绍具体实现方法.可添加单一水印效果,即水印是以单个文本字样来呈现:也可添加多个平铺水印效果,即 ...

  6. 浅入Kubernetes(7):应用部署实例,Deployment、Service、ReplicaSet

    目录 Deployment 创建 Deployment kubectl apply/create 网络端口映射和更新 Deployment ReplicaSet 在本文之前,你需要阅读: 尝试 kub ...

  7. Salesforce学习之路(四)利用Jenkins和Git实现Salesforce的CI/CD功能

    上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...

  8. 3年经验硬抗字节Java岗,25天4轮面试终拿意向书,复述原题及经验

    这次面试字节跳动也是做了很多的准备,还好顺利拿到了offer,特分享一下这次的4面技术面真题,以及一份字节2-2师兄整理的面试手册,希望能够给一些正在面试字节或计划面试大厂的朋友提供帮助. 字节跳动技 ...

  9. TLS Poison - When TLS Hack you

    0x00 前言 本次学习的是2020 Blackhat 的一篇文章When TLS Hacks you,简单来说,作者提出了一种新的SSRF攻击思路:利用DNS重绑定和TLS协议的会话恢复进行攻击.具 ...

  10. Json文件转换为Excel文件!涉及读文件,时间戳转化,写文档

    一. 思路 今天接到个小任务,让把json文件转换成excel文件,按照列展开. 思路:既然json已经都已经是现成的,那直接将json文件做读操作,在通过不同的key,找到对应的信息,在存到单元格中 ...