面向对象编程

面向对象和面向过程

  二者都是一种思想,面向对象是面向过程而言的,面向过程,强调的是功能行为,面向对象,将功能封装进对象,强调具备功能的对象  

  面向对象更加强调运用人类在日期的思维方式

 

面向对象的三大特征:封装、集成、多态

 

类与类之间的关系

面向对象思想概述:

程序员从执行者转换成为指挥者

完成需求的时候:

1、先找出具有所需功能的对象

2、如果该对象不存在,则创建

这样可以简化开发并提高开发效率

 

类是对一类事务的描述,是抽象的

对象是实际存在的该事物的给个个体,也称为实例, 万物皆对象

 

 

 成员变量和局部变量的区别:

成员变量定义在类中,整个类中都可以访问

成员变量分为类成员变量和实例成员变量,实例变量存在与对象所在的堆内存中

成员变量有默认初始化值

成员变量的权限修饰符可以根据需要修改

 

局部变量只存在局部分为内,如:方法内、代码块内

局部变量存在与栈内存中

局部变量的作用范围结束,变量空间自动释放

局部变量没有默认初始化值,每次必须显示初始化值

局部变量声明时候不指定修饰符

 

栈内存中:对象的引用、局部变量

堆内存中:new 出来的东西,包含成员变量

 

类的访问机制:

在在一个类中访问机制:类中的方法可以直接访问类中成员变量(static关键字除外)

在不同类中访问机制:先创建访问类的对象,在用对象访问类中定义的方法

 

对象的产生:

当一个对象被创建时,会对其中的各种类型的成员变量自动进行初始化赋值

 

匿名对象:

如果一个对象只需要一次访问,就可以使用匿名对象访问

使用匿名对象作为实参传递给一个方法使用

 

方法的重载:与返回值类型无关、只看参数列表

 

可变参数的形参

 

java中方法的参数传递方式只有一种方式:值传递(将实际参数的副本传入方法体中,而参数本身不受影响)

 

面向对象特征之一:

封装和隐藏:使用者对内部定义的属性的直接操作,会导致数据的错误,混乱或者安全问题

保护方式:信息隐藏

隐藏一个类中的不需要对外提供的实现细节,使用者只能通过事先定制到的方法来访问数据,可以方便的加入逻辑控制,限制对属性的不合理操作,便于修改,增强代码的课维护性

 

四种访问权限修饰符:

 类的成员之三:构造器(构造方法)

构造器的特征

具有与类相同的名称

不声明返回值类型

不能被static、final、abstract、synchronized、native修饰,不能有returne 语句

构造器的作用,创建对象,给对象赋值

this关键字:

在方法体内部使用,this代表这个方法的所属对象的引用

在构造方法中使用:表示该构造器正在初始的对象

this关键字表示当前对象的时候,可以调用类的方法、属性、构造器

使用this调用本类的构造器:

class Person{        // 定义Person类
    private String name ;        
    private int age ;            
    public Person(){      // 无参构造
        System.out.println("新对象实例化") ;
    }
    public Person(String name){
        this();      // 调用本类中的无参构造方法
        this.name = name ;    
    }
    public Person(String name,int age){    
        this(name) ;  // 调用有一个参数的构造方法
        this.age = age;
    }
    public String getInfo(){    
        return "姓名:" + name + ",年龄:" + age ;
    }  
}

this可以作为一个类中,构造器相互调用的特殊格式

使用this关键字必须放在首行

使用this调用本类的其他构造器,保证至少一个构造器是不用this关键字的

原文地址:https://www.cnblogs.com/lzb0803/p/8964972.html