Java基础---面向对象(OOP)

面向对象

面向对象(OOP,Object-Oriented Programming):
是一种编程思想,将现实世界的事物抽象成对象,包括其属性和行为,将其中
共性的部分封装,借助类、对象、继承等概念进行软件系统构造,强调的是解
决问题的主体,在面对一个问题时,想到的是谁可以帮我解决。

面向对象的好处

1.更符合人类的思维习惯
2.复杂的问题简单化
3.有执行者变成了指挥者

面向过程和面向对象

面向过程:注重的是解决问题所需要的步骤,通过程序将每一个步骤实现,
         然后依次调用;
面向对象:注重的是解决问题的主体,即将构成问题的事务分解成一个个
         对象,通过对象去描述问题解决过程中的某一事物的行为。

面向对象的特征

封装:隐藏事物的属性和实现的细节,对外提供公开的访问方式。
     能够保证内部的高内聚性和与外部的低耦合性。
     有效提高代码的可读性和复用性。
继承:如果类A继承类B,那么称类A是类B的子类,类B是类A的父类,
     子类具有父类的非私有的属性和方法,不需要重复写代码,
     另外子类也可以重新定义某些属性,重写某些方法。
多态:不同类的对象接收相同的消息(共享相同的外部接口),表现出不同的行为。

创建对象的内存分析

1.将创建的对象所属的类的字节码文件加载到方法区(类加载);
2.在栈内存中声明一个该类型的引用,将来用作存储堆内存内对象所属空间的地址值;
3.在堆内存中开辟空间,为成员变量分配内存;
4.给对象中的成员变量进行默认初始化赋值;
6.将堆内存内对象的地址值赋值给栈内存中的引用。
注意:1.类加载只进行依次;
	 2.创建对象的时候,默认隐含了字节码文件的地址;
	 3.哪个对象调用方法,方法的栈帧中就默认隐含了该对象的地址;
	 4.每次使用new关键字,就在堆内存中开辟了新的空间。

类和对象

类:对现实生活中一类具有共同特征的事物的抽象,
   实质是一种引用数据类型,只有实例化为对象时,才能被操作。

类的构成:成员属性(成员变量)和成员方法。
   成员属性定义方式和变量一样,只不过位置在类中方法外;
   成员方法定义时修饰符不同于之前的public static ,现在,没有static

对象:类的具体表现。

对象的创建和使用

语法:类名 对象名 = new 类名();
访问属性:对象名.属性名;
设置属性:对象名.属性名 = 属性值;
调用方法:对象名.方法名();
package com.DaYu
    public class Demo01 {
        public static void main(String[] args) {
            //创建对象
            Animal animal = new Animal();
            //属性赋值
            animal.name = "大毛";
            animal.age = 2//调用方法
            animal.sleep();
            //打印输出信息
            System.out.println("name:"+name+" "+"age:"+age);
        }
    }
//创建一个动物类    
class Animal {
    //属性
    String name; 
    int age;
    //行为
    public void sleep() {   
        System.out.println("睡觉");
    }
    public void kanJiang() {
        System.out.println("看家"); 
    }
       
 }   

猜你喜欢

转载自blog.csdn.net/qq_41401295/article/details/106266165