JAVA笔记八

八、面向对象

1.类与对象的概念

(1)面向对象的概念

面向对象编程:OOP

(2)使用类和对象开发程序的基本步骤

·开发类,类=属性(成员变量)+方法

·通过new关键字创建对象

·使用类中的属性和方法:对象.属性名 对象.方法名()

(3)类与对象

  • 类是一种逻辑结构,对具有公共属性特征和行为(功能)的一个群体进行描述可以定义Student类描述学生的公共属性和行为,定义一个Teacher类,描述老师的公共属性和行为
  • 定义了类之后,就可以根据类创建(new)出一个实例

2.定义类

程序=数据+算法

类=属性+方法

(1)类的一般形式

class 类名 { //类名通常以大写字母开始

        类型 变量1;

        类型 变量2;

        …

        类型 方法名(参数列表) {

                // 方法体

        }

        …

}

类的成员:在类中定义的变量和方法

成员变量:在类中定义的变量

成员方法:在类中定义的方法

(2)类的属性(类的成员变量)

public class Student {

        String name;

        int age;

        double score;

}

成员变量/实例变量类的{}内直接声明(定义)的变量

属性属于类的某个具体对象。类的每个实例(即,类的每个对象)都包含这些变量的副本,因此在类中定义的变量又被称为实例变量。

(3)类的方法

方法对象行为特征的抽象,类具有的共性的功能操作

基本语法:

修饰符 返回类型 方法名(形参列表){

        //代码

}

形参可以为空,可以有多个,形参的类型可以是基本类型也可以是引用类型

注意:

·方法中定义变量称为局部变量。

·如果没有返回值,则方法的返回类型必须为void

·当方法有具体的返回类型时,则必须使用return语句返回一种值

3.对象的声明与创建

注意:

·属性属于类的具体对象,不同对象的属性值通常是不同的

·虽然方法也是通过对象调用的,但是各对象共享相同的方法

4.为引用变量赋值

对象引用与对象的关系:

(1)对象引用,有时也称为对象引用变量,或称为引用变量

(2)对象引用与对象在物理上是两个不同的东西

(3)我们通常说b1引用(有时也称为指向)Box对象

(4)对象只能通过对象引用来操作。有时直接使用对象引用代指对象,例如有时会直接将b1引用的对象称为“对象b1”或“b1对象”

(5)将一个对象引用赋值给另一个对象引用,则两个引用变量指向同一个对象

(6)对引用变量进行相等性比较,例如b1==b2,是比较两个引用变量是否引用同一个对象,所以b1==b2的结果为true。对对象引用进行相等性比较,有时也直接称为对象的相等性比较

注意基本变量与引用变量的区别

基本类型的变量位于栈内存中,引用变量所引用的变量位于堆内存中

5.方法深入分析

方法可以看做是独立的功能模块,供调用模块调用,功能模块要有输入、输出,对于方法而言输入就是方法的参数,输出就是方法的返回值。调用者通过参数将需要输入的数据传递给方法,方法通过返回值将输出返回给调用者。

(1)方法的定义

·方法定义包括:访问修饰符、返回类型、方法名、形参、代码块

·方法必须有返回类型(构造方法除外),可以省略访问修饰符

·可以有参数,也可以没有参数

(2)参数的传递

方法调用中发生的数据传送是单向的只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

参数传递:

·值传递:基本数据类型作为参数

·引用传递对象作为参数,本质上是引用变量作为参数

(3)return

·return语句用于明确地从一个方法返回(导致程序的执行控制转移回到方法的调用者)

·如果return之后还有代码也不会执行

·如果方法的返回类型为void,可以使用return跳出函数,但是不能使用return返回数据

·可以返回对象

(4)方法的调用(因为封装,不能直接访问其他对象的成员变量)

·调用相同类中的方法:可以直接调用(本质上是使用this关键字调用)

·调用其他类中的方法:对象.方法名()

6.构造方法(构造器)

(1)作用

开辟内存空间、创建实例、初始化属性值

(2)特点

·方法名与类名相同

·不能声明返回类型

·不能使用return语句返回值

·通常用public修饰

(3)注意

·如果没有明确提供构造方法,则系统会提供一个默认的构造方法,默认构造方法(也称为缺省构造方法)没有参数

·如果提供了一个构造方法,则系统不再提供无参数的默认构造方法

·如果提供了一个有参数的构造方法,同时又需要无参构造方法的话,则必须同时提供一个无参数的构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值