Java 面向对象

面向对象

1、面向对象:编程使用的一种思路,编程思想。
2、面向对象和面向过程:都是编程思想,面向过程是面向对象的基础,面向对象基于向面过程的。
3、面向过程:执行者。更强调解决问题的基本步骤 ,强调问题的解决方式,更强调的是方法。
  面向过程编程思路:自顶向下,不断分解。
4、面向对象:指挥者。更强调问题的主体。更强调谁来解决这个问题,更强调的是数据,更强调的是对象。更强调谁拥有数据和操作数据的权力。编程思路,自底向上,不断拼装。

洗衣服:
面向过程:准备盆子,放洗衣粉,放水,搅拌,泡衣服,揉一揉,晾出来...
面向对象:找到洗衣机,衣服放进去,按按钮,拿出来。

5、面向对象的好处:
  1.更符合人类的思想习惯,凡事喜欢找对象,找工具,找人,而不是找方法。
  2.复杂的问题简单化。
  3.由执行者变成了指挥者。

6、面向对象的特征:

  封装、 继承、 多态

类和对象

1、类:对一类事物事物特征的抽象的结果

 对象:事物的具体表现

2、类就是一组相关属性和行为定义的集合。

  属性:对于事物特征的描述,一般是名词或者形容词。
  行为:对于事物功能的描述,一般是一个动宾结构。
  java中,类的属性就是一个成员属性来表示,功能就是一个成员方法来描述。

3、 .class 字节码文件,在一个源文件中,可以存储多个类

4、对象的创建和使用

  类名 对象名 = new 类名();

  new:关键字,在堆内存中开辟了一块空间,用于存储该类型的数据。

  ():构造方法

5、访问属性

  对象名.属性名;

  赋值 对象名.属性名 = 属性;

 访问方法

  对象名.方法名();

6、

class Test 
{
    public static void main(String[] args) 
    {
        Person p = new Person();
        p.name = "qq";
        p.age = 2;
        p.run();
    }
}
class Person
{
    String name;
    int age;
    public void run(){
        System.out.println("我叫"+name+"我"+age+"岁了,我会跑了");
    }
}

7.创建对象时的内存理解

  (1)

  (2)

    创建对象的步骤:

    1、将要创建的对象所属的类型加载到方法区,形成Car.class的字节码

    2、在栈内存中创建一个Car类型的引用,将来用于存储堆内存中对象的地址

    3、在对内存中开辟空间,给各个成员变量分配内存

    4、给对象中的成员变量进行默认的初始化赋值

    5、将对象的地址,赋值给栈内存中的引用

(3)内存图示的说明:

 

    1、第一次使用某个类型的时候,会将该类型的字节码加载到方法区,第二次使用的时候,不需要重复加载

 

  2、在创建的对象中,默认隐含了一个字节码的地址,将来可以通过对象找到创建自己的字节码

 

  3、哪个对象调用方法,方法的栈帧中,就默认隐含了该对象的地址

 

  4、每次使用new关键字,都会在堆内存中开辟一段新的空间。

 

原文地址:https://www.cnblogs.com/xfdhh/p/11179876.html