java10-面向对象编程+方法的调用

面向对象编程OOP

面向过程&面向对象

  • 面向过程思想

    • 步骤清晰简单,第一步做什么,第二步做什么...
    • 面对过程适合处理一些较为简单的问题
  • 面向对象思想

    • 物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。
    • 面向对象适合处理复杂的问题,适合处理需要多人协作的问题!
  • 对于描述复杂的事物,为了从宏观上把握、从整体上合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面向过程的思路去处理。

什么是面向对象

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

  • 面向对象编程的本质就是:以类的方式组织代码,以对象的组织(封装)数据。

  • 抽象

  • 三大特性

    • 封装
    • 继承
    • 多态
  • 从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象

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

方法的调用:递归

  • 静态方法

  • 非静态方法

    •   public static void main(String[] args) {
      
              //调用Student这个类
              //调用非静态方法
              //实例化这个对象
              //类名 对象名 = 对象值
              Student student = new Student();
              student.say();
      
              //调用静态方法
              Student.say1();
      
          }
      
      public class Student {
          public static void main(String[] args) {
      
          }
          //学生类
          //非静态方法
          public void say(){
              System.out.println("学生说话了");
          }
          //静态fangfa
          public static void say1(){
              System.out.println("学生睡觉了");
          }
      
      }
      
  • 形参和实参

    • public class Dome05 {
          public static void main(String[] args) {
              //值传递
              int a = 1;
              System.out.println(a);
      
              Dome05 dome05 = new Dome05();
              dome05.change(a);
              System.out.println(a);
      
      
          }
      
          public void change(int a){
              a=10;
          }
      
      }
      
      1
      1
      
    • import java.security.PublicKey;
      //引用传递,对象,本质还是   值传递
      public class Dome06 {
          public static void main(String[] args) {
              Person person = new Person();
              System.out.println(person.name);//null
      
              Dome06.change(person);
              System.out.println(person.name);
      
          }
          public static void change(Person person){
              //person是一个对象,指向得是 Person person = new Person();这是一个具体的人呢可以改变
              person.name = "迪迦";
      
          }
      
      }
      
      
      class Person{
          String name;//null
      }
      
      null
      迪迦
      
  • 值传递和引用传递

  • this关键字

posted @ 2022-08-11 21:46  干饭人减肥魂  阅读(44)  评论(0)    收藏  举报