【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();
    }
}
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值