java面向对象-

java之所以叫java就是因为他是一门纯面向对象语言,
编程语言发展史:
1、字节编码:01010100101
num = 1;
2、助记符编程语言–汇编 ADD MOVE GOTO ……直接操作内存
3、B语言 int num= 10; –》 C语言 编程的发展顶峰,
4、fortrun –>C++
5、面向机器–面向过程–面向对象,
面向过程:完成一件 事情的任何过程都自己亲力亲为,
面向对象:找航空公司

我要去北京!面向过程:先炼铁--造飞机---练石油--架航道--自己开过去
          面向对象:找航空公司对象,对象取找其他对象协作完成,

我们尝试用面向过程和面向对象取描述人
//自己定义– 面向过程

        //描述一下张义童鞋
        String  name_zhangyi = "张义";
        int age_zhangyi = 22;
        String sex_zhangyi = "男";

        //同理描述一下小赵
        String  name_xiaozhao = "小赵";
        int age_xiaozhao = 26;
        String sex_xiaozhao = "男";




        //别人定,我们使用,面向对象
        Man zhangyi = new Man();
        zhangyi.name="张义";
        zhangyi.age = 22;
        zhangyi.sex = "男";

        Man xiaozhao = new Man();
        xiaozhao.name = "小赵";
        xiaozhao.age = 26;
        xiaozhao.sex = "男";



public class Man{

    //特征  --  属性 

    //修饰符public   类型(8基本+String)   名字
    public String name;
    public int age;
    public String sex;
    public double height;



}

面向对象和面向过程的区别就是我们面向对象控制权慢慢在移交出去,但是要使用面向第一步是一定要会抽象一个对象,所谓的抽象一个对象就是指利用属性吧一个对象描述清楚。比如电脑:

public class Man{

    //特征  --  属性 
    public double price;
    public String logo;
    public String color;
    public String no;
    public double width;
    public double length;

}

万事万物皆对象

1、什么是类、对象
对象:看得见,摸得着的,拿得走的就叫对象。对象是真实存在的
类: 对于具有同一属性,特征的事物的统称,类是抽象的,看不见、摸不着的
类和对象的关系:类是对象模板,对象是类下面其中一个真实存在的个体。

歌星(名字、性别):类 刘德华(名字、性别)、对象
员工 (工号) 小明同学(工号)

/**
  歌星类  == 描述歌星的特征
**/
public class Singer{

    public String name;
    public int age;
    public String sex;
    public double sal;



}

通过歌星这个类创建一个对象,需要使用关键字new

Singer liudehua = new Singer();
        liudehua.name="刘德华";
        liudehua.age=52;
        liudehua.sex="男";
        liudehua.sal = 2342343;

其实我们可以把类理解成为一个复杂的数据类型,我们前面有8中基本数据类型,不足以描述各种各样的数据,所以就有了自定义数据类型–类,通过N个基本数据类型组装,同时使用方式也会发生变化

Yanyuan huge = new Yanyuan();
        huge.name="胡歌";
        huge.age = 34;
        huge.sex="男";
        huge.color="红色";
        huge.height = "1.75";

        System.out.println(huge);
        System.out.println(huge.name);
        System.out.println(huge.age);

这里写图片描述

同时我们的内存储存方式也发生了变化:
这里写图片描述

所以基本数据类型和对象的存储方式和内存结果如上,java对内存进行了栈和堆的划分,栈用于存放局部变量,也就是方法里面你的基本数据类型,而堆用于存放复杂数据类型,也就是对象

猜你喜欢

转载自blog.csdn.net/sky274548769/article/details/80486380