java中一个重要思想:面向对象

  面向对象:
    1, 面向过程的思想(合适的方法出现在合适的类里面)
     准备去一个地方:
        先买车, 挂牌, 开导航, 踩油门, 过黄河, 穿越珠穆朗玛峰...

    2, 面向对象的思想
      我开着车去, 车怎么去随便所有去这个地方的信息, 全部封装在这个车里面, 我不了解这个车是怎么运行的, 我也不需要了解,

       我只知道我能到达这个地方就行了面向对象的基本思想是, 从现实世界中客观存在的事物出发, 来构造软件系统, 并在系统的构造中尽可能的运用人类的自然思维方式,

      面向对象是目前人与计算机沟通最简单的语言思想

    3, 什么是类, 什么是对象?
      对象是类的一种实例化, 对象用"属性"和"方法"来对应描述事物所具有的"静态属性"和"动态属性"

      类是用于描述同一类形的对象的一个抽象的概念, 类中定义了这一类对象应该具有的"静态属性"和"动态属性"

      类可以看成是一类对象的模板, 对象可以看成该类的一个具体实例

      举个例子(什么是瓶子-->一类事物的抽象-->静态属性,动态属性)

      举个例子(人-->学生-->张三)

      什么是类
        学生是类, 瓶子是类, 老师是类
      什么是对象
        这个学生是对象, 这个瓶子是对象, 这个老师是对象, 符合这类事物的特征的某一个东西, 叫对象

      领导-->显示职工的姓名
        职工:
          静态属性:
            姓名: 张三
            年龄: 24
            工资: 3000
          动态属性:
            显示姓名
            显示年龄
            修改姓名
            领取工资

    4, 类与类之间的关系
      关联关系(最弱的一种关系):
        不好下一个定义, (A类中某个方法的参数是B类的某一个对象)
        举个例子(学生<--学校-->老师)
        老师要讲课, 这是一个方法, 要传个参数进去, 参数是学生对象
      继承关系(避免多重继承)
        什么是一种什么
        举个例子(运动员-->球类运动员-->篮球运动员)
      聚合关系(聚集, 组合)
        什么是什么的一部分
        举个例子(球队-->(王队长, 队员))
      组合----人: 头, 身体

      聚集:构成这个类的这部分可以是这个类的, 也可以是另外一个类的,
      组合:每一部分只属于一个类
      实现关系
      接口:只管定义方法, 怎么实现由子类去做
      举个例子(接口(开车的方法), A类可以实现, B类也可以实现)

    5, java类的定义, 对象和引用
      java: 万物皆对象, 处处皆需求

      对象是对属性(成员变量, 静态属性)和方法(函数, 动态属性)的封装

      java中提供的类, 程序员自己定义的类

      面向对象更容易达到一种境界:
        Reusable(重用性), Extensibility(可扩展性)
        面向组件(Component)--比对象更高层次的抽象
      WebService

    6.成员变量和局部变量的区别
      成员变量的初始化
      成员变量可以是java中任意一种数据类型(基础数据类型和引用类型)
      成员变量可以初始化, 也可以不初始化(java默认初始化)
      成员变量的作用范围-->整个类

      引用类型, 见1-6

      类和对象的关系
        C c1 = new C();
        C c2 = new C();// c1, c2在这里是局部变量

  

package com.maya.test;

public class Person {
    
    //成员变量
    public int 身份证号;
    public String 姓名;
    
    //成员方法
    public void test() {
        int i=0;
        //局部变量
        System.out.println("执行test方法 !");
    }
    
    public void test1() {
        int n = 身份证号;
        
    }
    
}
package com.maya.test;

public class Main {
    public static void main(String[] args) {--------------引用Person方法
        /*
         * 当使用new这个关键字的时候, 
         * 栈:方格-->p--地址指向Person对象
         * 堆:方格--Person对象
         */
        //new--->实例化
        Person p123 = new Person();
        //初始化
        System.out.println(p123.姓名);
        System.out.println(p123.身份证号);
        p123.test();
    }
}
原文地址:https://www.cnblogs.com/bekeyuan123/p/6858762.html