面向对象:类与对象

面向对象概述

面向对象程序由对象组成,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。

面向过程首先要确定如何操作数据,然后再决定如果组织数据,以便数据操作。而面向对象调换了这个次序,将数据放在第一位,然后再考虑操作数据的算法。

类是构造对象的模板或蓝图。

OOP让用户自定义类变得轻而易举,可以通过扩展一个类创建另一个类。

每个对象都保存着描述当前特征的信息,这是对象的状态。

类与类之间的关系:依赖(use a ),聚合(has a),继承(is a )

使用预定义类

要使用对象必须先构造对象,并指定初始形态,然后对对象应用方法

使用new关键字创建对象

new Date();

在对象与对象变量之间存在一个重要区别。

Date dateTest;//创建对象

变量dateTest不是一个对象,也没有引用对象。必须先初始化

Date dateTest = new Date(); //使用新构造的对象初始化这个变量

Date test1 = new Date();
Date test2  = test1;//引用一个已存在对象

一个对象变量并没有包含一个对象,而是引用一个对象。

 构造方法
//构建对象
//如果没有写构造器,则默认无参构造
//如果写了有参构造器,则无法构造无参对象
public class CreateObject{
    public static void main(String[] args){
        //创建对象
        CreateObject createObject = new CreateObject();
    }
}

构造器必须与类名相同。在构造对象时,构造器会运行,以便将实例域初始化为希望的状态。

1、构造器与类同名
2、每个类有一个以上的构造器
3、构造器可以有0个、1个或多个参数
4、构造器没有返回值
5、构造器总是伴随new操作一起调用

不要在构造器中定义与实例域重名的局部变量。

隐式参数与显式参数

方法用于操作对象以及存取它们的实例域

public void test(String s){
    String s2;
}

方法中s是隐式参数,s2是显式参数。

隐式参数用this关键字表示

public void raiseSalary(double byPer){
  double raise = this.salsry; //使用this关键字区分实例域与局部变量      
}
封装

封装应该提三个内容:一个私有的数据域;一个公有的访问方法;一个公有的更改方法。

private修饰的方法是私有方法。

final修饰的是不可变的。

静态域与静态方法

静态方法是一种不能向对象实施操作的方法。不能在非静态方法中调用静态方法。

在两种情况下使用静态方法:

1、一个方法不需要访问对象状态,其所需参数都是通过显式参数提供

2、一个方法只需要访问类的静态域。

方法参数

方法参数的类型:基本数据类型和对象引用

Java是值传递

猜你喜欢

转载自www.cnblogs.com/zaijie/p/10721189.html