【Java】05 面向对象

时间:2022-07-26
本文章向大家介绍【Java】05 面向对象,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Java是纯粹的面向对象编程语言,完全支持面向对象的三大基本特征:封装、继承和多态。Java程序的组成单位就是类,不管多大的Java应用程序,都是由一个个类组成的。

一、方法

1.1 什么是方法

   将某个功能抽取出来,单独放到一对 { } 内,形成一个单独的功能。

1.2 方法的定义

格式:

修饰符 返回值 方法名(参数列表) {
    方法体···
    return ;
}

注意:   方法必须定义在类中方法外。   方法必须明确返回值类型(可以为空 void)、参数列表(可以为空 什么都不写)。   Java 里的方法不能独立存在,它必须属于一个类或一个对象

示例:

public class Hello {
	public void helloWorld(int a) {
        System.out.println(a);
    }
}

1.3 方法的调用

1.3.1 调用方式

直接调用:

方法名( );

赋值调用:

数据类型 变量名 = 方法名( );

输出语句调用:

System.out.println( 方法名( ) );

1.3.2 注意事项

   调用方法时可以给该方法传递一个或多个值,传给方法的值叫作实参,在方法参数列表,接收实参的变量叫作形参,形参的声明语法与变量的声明语法一样,形参只在方法内部有效。

1.4 方法重载

   同一个类中,允许存在方法名相同的方法只要参数列表不同即可,与修饰符和返回值类型无关。

注意:   参数列表不同:参数个数不同、数据类型不同、顺序不同   JVM会根据参数列表来调用对应的方法

示例:

public static void print() {}
public static int print(int a) {}
public static int print(int a, int b) {}
public static void print(double a) {}

二、面向对象与面向过程

2.1 面向过程

   什么事情都是自己做。即:买菜 ⇨ 择菜 ⇨ 洗菜 ⇨ 炒菜 ⇨ 吃菜

2.2 面向对象

   只关心结果不关心过程。即:找个保姆 ⇨ 保姆做菜 ⇨ 吃菜

2.3 注意

   面向过程:更强调解决问题的基本步骤,强调问题的解决方式,更强调的是方法,自顶向下,不断分解。    面向对象:更强调解决问题的主体,更强调谁来解决这个问题,更强调的是对象,自顶向上,不断拼装。

三、类与对象

   在Java语言中,除基本数据类型值之外,一切都是对象,而对象就是面向对象程序设计的中心。

2.1 概述

2.1.1 什么是对象

   对象(Object)是一个抽象概念,表示任意存在的事物。世间万物皆对象!世界中客观存在的事物都是对象。通常将对象划分为两个部分,即静态部分与动态部分。静态部分被称为“属性”,任何对象都具备自身属性,这些属性不仅是客观存在的,而且是不能被忽视的。动态部分指的是对象的行为,即对象执行的动作。

2.1.2 什么是类

   类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类。在Java语言中,类包括对象的属性和方法。类中对象的属性是以成员变量的形式定义的,对象的行为是以方法的形式定义的。

2.1.3 综述

   具有相同或相似性质的一组对象的抽象就是类,类是对一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,因而也称为实例(instance)。对象的抽象化是类,类的具体化就是对象,也可以说类的实例是对象。类用来描述一系列对象,类概述每个对象应包括的数据,类概述每个对象的行为特征。故,可以把类理解成某种概念、定义,它规定了某类对象所共同具有的数据和行为特征。

2.2 定义

2.2.1 定义一个类

public calss 类名 {
    //成员变量
    //成员方法
}

注意:   成员变量的定义在类中方法外。   局部变量的定义在方法中。   被 static 修饰的方法称为静态方法,可以直接使用 类名.方法名() 调用。

示例:

public class Add {
    //成员变量
    int a = 1;
    int b = 2;
    int sum;
    
    //成员方法
    public void add() {
        sum = a + b;
    }
}

// 这个类中没有 main() 方法,所以不能直接运行。

2.2.2 对象的产生与使用

语法:

// 创建对象
类名 对象名 =  new 类名();

// 对象访问类中的成员
对象名.成员变量;
对象名.成员方法();

注意:   成员变量有初始值

数据类型

初始值

整数

0

浮点数

0.0

字符

‘u0000’ (空白字符,不是空格)

布尔

false

引用类型

null

  成员变量:有默认值,位于堆中,随着对象的创建而创建,随着对象的消失而消失。   局部变量:没有默认值,必须先赋值再使用,位于栈中,随着方法的调用而存在,随着方法调用结束而消失。

示例:

public class Test {
    public static void main(String[] args) {
        //创建对象
        Add add = new Add();        //add 中存储的是一个地址值
        
        //这是局部变量
        int c = 3;
 
        //使用成员变量
        add.a = 2;
        add.b = c;
        
        //使用成员方法
        add.add();
    }
}